我有一个用Visual Basic编写的脚本,它使用WMI在远程系统上启动一个进程(作为参数提供给脚本)(再次作为参数给出)。在远程系统上使用管理员帐户时,此脚本工作正常,但使用非管理员帐户时,我收到以下错误:
ConnectServer Failed w/ (-2147024891) Access is denied.
我希望能够作为非管理员用户使用此脚本在远程系统上运行进程,我很确定问题是由远程系统上的安全设置引起的,但我还没有能够重置正确的。
答案 0 :(得分:3)
听起来您需要通过DCOMCNFG在目标计算机上为此用户配置启动和激活权限。默认情况下,非管理员用户没有远程启动和激活权限。
或者,根据您要连接的操作系统,可能有一个“分布式COM用户”组,您可以将用户添加到该组。该组已拥有相应的权限。 Distributed COM Users组首先包含在Windows Server 2003 Service Pack 1中(DCOM Security Enhancements)。
您可以阅读有关WMI和DCOM权限here的更多信息。有关如何配置WMI和DCOM的更详细步骤包含在 serverfault 主题Which permissions/rights does a user need to have WMI access on remote machines?中。