Опять прошу помощи!
Решил начать все сначала. Пишу скрипт, который пингует 3 хоста. Если все 3 не отвечают - перезагружает софт и модем.
Собственно код
Код:

iPing = Ping("195.195.195.195")
iPing1 = Ping1("195.195.195.195")
iPing2 = Ping2("195.195.195.195")
strComputer = "."
Set WshShell = WScript.CreateObject("WScript.Shell")
Command ="d:\Portable\Script\restart_modem\devcon.exe disable USB\VID_1076*"
Command1="d:\Portable\Script\restart_modem\devcon.exe enable USB\VID_1076*"
Command2="d:\Portable\Script\restart_modem\devcon.exe restart USB\VID_1076*"
strProcessKill = "'SW_WiMaxCM.exe'"
strProcessStart="d:\Portable\Script\restart_modem\SW_WiMaxCM.lnk"
Function Ping (strTarget)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '" & strTarget & "'AND Timeout=10000 AND BufferSize=1")
For Each objPing in colPings
Ping = objPing.StatusCode
Next
End Function
If iPing=0 Then
WScript.Quit
end if
Function Ping1 (strTarget)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '" & strTarget & "'AND Timeout=10000 AND BufferSize=1")
For Each objPing in colPings
Ping1 = objPing.StatusCode
Next
End Function
If iPing1=0 Then
WScript.Quit
end if
Function Ping2 (strTarget)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '" & strTarget & "'AND Timeout=10000 AND BufferSize=1")
For Each objPing in colPings
Ping2 = objPing.StatusCode
Next
End Function
If iPing2=0 Then
WScript.Quit
end if
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& ".\root\cimv2")
Set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name ='GCTWiMaxService'")
For Each objService In colListOfServices
objService.StopService
WshShell.Run Command
WScript.Sleep 2000
WshShell.Run Command1
WScript.Sleep 5000
WshShell.Run Command2
t = now()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = FSO.OpenTextFile("log.txt", 8, True)
f.WriteLine t
objService.StartService
WshShell.Run strProcessStart
Wscript.Echo "GCT WiMAX USB Network Device restarted"
Next
Столкнулся с одной проблемой. Если модем отсутствует, то скрипт выдает вот такую ошибку
Код:

C:\Users\admin\AppData\Roaming\WMICodeCreator\MyWMIQuery_Script.vbs(20, 3) (null): 0x80041001
вот в этом месте:
Код:

For Each objPing in colPings
Ping = objPing.StatusCode
Мне же нужно, чтобы при отсутствии модема тоже срабатывала перезагрузка. Помогите решить задачу.