Я пытаюсь использовать WMI Explorer для запроса пространства имен root \ MSCluster на различных хостах, чтобы получить данные о группе ресурсов кластера и объектах ресурсов. Я могу получить доступ к пространству имен без проблем на узлах кластера Win2K3, но получаю ошибку отказа в доступе при попытке подключиться к узлам Win2K8 и Win2K8R2.
Я могу получить доступ к пространству имен root \ cimv2 без проблем, только к пространству имен MSCluster, хотя я являюсь локальным администратором. Есть ли параметр функции, локальная политика безопасности или роль сервера, членом которой я должен быть, чтобы получить доступ к пространству имен?
Не знаком с WMI Explorer, но позволяет ли он указать уровень ImpersonationLevel?
Попробуйте следующий сценарий VBScript (не тестировался) на локальном компьютере. Затем отредактируйте strComputer = "." строка для имени сервера и удаленного выполнения:
On Error Resume Next
Dim strComputer
Dim objWMIService
Dim colClusterNodes
Dim objClusterNode
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" & strComputer & "\root\mscluster")
If Err.Number <> 0 Then
WScript.Echo "ERROR : Failed to get WMI handle [" & Err.Description & "]"
Err.Clear
Else
Set colClusterNodes = objWMIService.ExecQuery( "Select * from MSCluster_Node")
If Err.Number <> 0 Then
WScript.Echo "ERROR : Failed to execute WMI query [" & Err.Description & "]"
Err.Clear
Else
For Each objClusterNode in colClusterNodes
Wscript.Echo "Caption : " & objClusterNode.Caption
Wscript.Echo "State : " & objClusterNode.State
Wscript.Echo "Status : " & objClusterNode.Status
WScript.Echo ""
Next
Set colClusterNodes = Nothing
End If
Set objWMIService = Nothing
End If