我有一个用 Visual Basic 编写的脚本,它使用 WMI 在远程系统(再次作为参数给出)上启动一个进程(作为参数给定脚本)。在远程系统上使用管理员帐户时,此脚本工作正常,但在使用非管理员帐户时,我收到以下错误:
ConnectServer Failed w/ (-2147024891) Access is denied.
我希望能够使用此脚本作为非管理员用户在远程系统上运行进程,我很确定问题是由于远程系统上的安全设置引起的,但我无法重置正确的。
听起来您需要通过 DCOMCNFG 在目标计算机上为此用户配置启动和激活权限。默认情况下,非管理员用户没有远程启动和激活权限。
或者,根据您连接的操作系统,可能有一个“分布式 COM 用户”组,您可以将您的用户添加到其中。该组已经拥有相应的权限。分布式 COM 用户组最初包含在 Windows Server 2003 Service Pack 1(DCOM 安全增强功能)中。
您可以在此处阅读有关 WMI 和 DCOM 权限的更多信息。关于如何配置 WMI 和 DCOM 的更详细步骤包含在serverfault线程中 用户需要哪些权限/权限才能在远程计算机上访问 WMI?.