semen77
06-03-2013, 14:37
Везде, где только не искал, проверка доступности интернета (VBS+WMI) производится с помощью: "...FROM Win32_PingStatus..."
Вопрос: а есть другие варианты?
Потому что этот, так же как и, просто CMD-команда: ping www.google.com Не будут корректно работать если ОС находится за NAT-ом.
Задача: проверить доступность www.google.com
Условие: компьютер находится за NAT
Пример скрипта:
iPing = Ping("www.google.com")
If iPing=0 Then
WScript.Echo "Интернет есть"
Else
WScript.Echo "Интернета НЕТ"
End If
Function Ping (strTarget)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '" & strTarget & "'")
For Each objPing in colPings
Ping = objPing.StatusCode
Next
End Function
Вопрос: а есть другие варианты?
Потому что этот, так же как и, просто CMD-команда: ping www.google.com Не будут корректно работать если ОС находится за NAT-ом.
Задача: проверить доступность www.google.com
Условие: компьютер находится за NAT
Пример скрипта:
iPing = Ping("www.google.com")
If iPing=0 Then
WScript.Echo "Интернет есть"
Else
WScript.Echo "Интернета НЕТ"
End If
Function Ping (strTarget)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '" & strTarget & "'")
For Each objPing in colPings
Ping = objPing.StatusCode
Next
End Function