如何使用WMI作为非管理员用户在远程Windows系统上运行命令?

时间:2010-06-11 20:08:14

标签: vbscript wmi non-admin

我有一个用Visual Basic编写的脚本,它使用WMI在远程系统上启动一个进程(作为参数提供给脚本)(再次作为参数给出)。在远程系统上使用管理员帐户时,此脚本工作正常,但使用非管理员帐户时,我收到以下错误:

ConnectServer Failed w/ (-2147024891) Access is denied.

我希望能够作为非管理员用户使用此脚本在远程系统上运行进程,我很确定问题是由远程系统上的安全设置引起的,但我还没有能够重置正确的。

1 个答案:

答案 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?中。