[英]WMI GetObject Permission Denied error
我已经编写了一个VBScript,以通过WMI将Win2k3 SP2服务器连接到多台Win2k3 + SP2和WinXP + SP3计算机,以便查询系统Win32_OperatingSystem和Win32_ComputerSystem类。
Set loWMISvc = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=Pkt}\\" & lsStore & "\root\cimv2")
Note: 'lsStore' is the IP address of the computer system I successfully connection too prior.
然后,我尝试向远程系统创建一个新对象,该对象将不断返回权限被拒绝的错误(脚本的输出):
21/11/2011 1:17:50 PM SUCCESS: Established connection to store
D:\Program Files\SUREfire Systems\Support\MG\QueryStores\QueryStores.vbs(244, 5) Microsoft VBScriptruntime error: Permission denied: 'GetObject'
尽管按照预期设置了对象ImpersonationLevel和AuthenticationLevel名称,但WMI仍显示正确安装在客户端和远程系统上。 与远程系统的初始连接也适用于本地管理员用户。
还有什么可能是导致我没有看到的拒绝权限错误的原因? 任何帮助,将不胜感激。
我相信我已经解决了我自己的查询。 UAC与“权限被拒绝”错误有关,因此,您需要使用与远程系统相同的访问和许可级别来执行脚本。 我只是运行了一个DOS命令提示符,作为客户端系统上的admin用户帐户运行它,并且GetObject成功。
尽管一个管理员帐户在两个不同的系统上看起来相同,但这证明您还需要确保相同的访问级别和安全性;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.