WMI远程连接objsWbemLocator.ConnectServer

使用以下方法连接到远程计算机时遇到问题:

设置objWMIService = objSWbemLocator.ConnectServer _(sIP,“root \ CIMV2”,strUser,strPassword,“MS_409”,“ntlmdomain:”+ sDomain,128)

问题在于有些机器没有超时,进程挂起。

有没有办法取消连接,并继续下一个IP? 我正在使用VBScript。

谢谢,山姆

尝试使用

Set objWMIService = Nothing 

在循环回到下一个IP地址之前。

是因为这些机器在networking上不可用? 您可以在通过WMI连接之前运行pingtesting。

 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 
 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 

下面的pingtesting也不错。