У меня проблема при подключении к удаленным машинам, используя следующее:
Установите objWMIService = objSWbemLocator.ConnectServer _ (sIP, "root \ CIMV2", strUser, strPassword, "MS_409", "ntlmdomain:" + sDomain, 128)
проблема в том, что на некоторых машинах не происходит тайм-аут и процесс зависает.
Есть ли способ отменить соединение и продолжить со следующим ip? Я использую vbscript.
Спасибо, Сэм
это потому, что эти машины недоступны в сети? Можете ли вы запустить тест ping перед подключением к нему через WMI.
Function Ping(strComputer)
Dim objShell, boolCode
Set objShell = CreateObject("WScript.Shell")
boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)
If boolCode = 0 Then
Ping = True
Else
Ping = False
End If
End Function
Попробуйте использовать
Set objWMIService = Nothing
прежде чем вернуться к следующему IP-адресу.
On Error Resume Next
For each IP in IP_List
Set objWMIService = objSWbemLocator.ConnectServer _ (sIP, "root\CIMV2", strUser, strPassword, "MS_409", "ntlmdomain:" + sDomain, 128)
If Err.Number <> 0 Then
wscript.echo "Could not bind to WMI on " + sIP
Else
' Insert code here
End If
Next
Пинг-тест ниже тоже хорош.