使用以下命令连接到远程计算机时遇到问题:
设置 objWMIService = objSWbemLocator.ConnectServer _ (sIP, "root\CIMV2", strUser, strPassword, "MS_409", "ntlmdomain:" + sDomain, 128)
问题是有些机器没有超时,进程挂起了。
有没有办法取消连接并继续使用下一个 IP?我正在使用 vbscript。
谢谢,山姆
答案1
尝试使用
Set objWMIService = Nothing
然后再循环回到下一个 IP 地址。
答案2
是不是因为这些机器在网络上不可用?您可以在通过 WMI 连接之前运行 ping 测试。
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
答案3
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
下面的 ping 测试也很好。