Vbscript Can';无法使WMI命名空间RSOP正常工作

Vbscript Can';无法使WMI命名空间RSOP正常工作,vbscript,wmi,Vbscript,Wmi,我需要创建一个子例程来检查系统上的某些策略。我现在正试着这么做 strComputerFQDN在程序开始时定义,工作正常 你觉得有什么不对吗 这是我的密码: '************************************************************************* ' This Subroutine checks Local Policies '*******************************************************

我需要创建一个子例程来检查系统上的某些策略。我现在正试着这么做

strComputerFQDN在程序开始时定义,工作正常

你觉得有什么不对吗

这是我的密码:

'*************************************************************************
' This Subroutine checks Local Policies
'*************************************************************************
Sub CheckPolicies()
   Dim objGPOSrvc,colItems,objItem
   Set objGPOSrvc = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputerFQDN & "\root\RSOP")
   Set colItems = objGPOSrvc.ExecQuery("SELECT * FROM RSOP_GPO")

   WScript.Echo("Check Policies")
   WScript.Echo("------------------------------------")

   For Each objItem in colItems
      If InStr(UCase(objItem.Name),"WSUS") Then
         If InStr(UCase(objItem.Name),"SERVER") Then
            WScript.Echo("Policy applied: " & objItem.Name)
         Else
            WScript.Echo("Wrong WSUS Policy Applied - Check Computer object location")
         End If
      End If
   Next
   If strWSUSApplied = "FALSE" Then
      WScript.Echo("No WSUS Policy Applied!")
   End If
   WScript.Echo vbCrLf
End Sub

名称空间应为
root\RSOP\Computer

Set objGPOSrvc = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputerFQDN & "\root\RSOP\Computer")
root\RSOP\User

Set objGPOSrvc = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputerFQDN & "\root\RSOP\User")
最典型的做法是这样做:

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\RSOP\Computer")
Set colItems = objWMIService.ExecQuery("Select * from RSOP_GPO")
For Each objItem in colItems  
    WScript.Echo "Name: " & objItem.Name
    WScript.Echo "GUID Name: " & objItem.GUIDName
    WScript.Echo "ID: " & objItem.ID
    WScript.Echo "Access Denied: " & objItem.AccessDenied
    WScript.Echo "Enabled: " & objItem.Enabled
    WScript.Echo "File System path: " & objItem.FileSystemPath
    WScript.Echo "Filter Allowed: " & objItem.FilterAllowed
    WScript.Echo "Filter ID: " & objItem.FilterId
    WScript.Echo "Version: " & objItem.Version
    WScript.Echo
Next

如果收到错误0x80041003,则需要使用管理员凭据运行此脚本。对于Vista和更高版本,请打开“开始”菜单并键入
cmd
。出现“命令提示符”时,右键单击并选择以管理员身份运行。现在,您可以从提升的命令提示符启动脚本,不会出现错误。

感谢您的回复!我更改了它以匹配您的代码,但我收到了此错误。(null):0x80041003,这是“设置objWMIService”所在的行。您需要使用管理员凭据运行此脚本,请参阅我的编辑。