Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Option Explicit

Dim strHost
Dim lngCheckInterval

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx

Dim objDictionary


'strHost          = "google.com"
strHost          = "192.0.0.22"
lngCheckInterval = 1000

Set objDictionary      = WScript.CreateObject("Scripting.Dictionary")

With objDictionary
	.Add 0,     "Success"
	.Add 11001, "Buffer Too Small"
	.Add 11002, "Destination Net Unreachable"
	.Add 11003, "Destination Host Unreachable"
	.Add 11004, "Destination Protocol Unreachable"
	.Add 11005, "Destination Port Unreachable"
	.Add 11006, "No Resources"
	.Add 11007, "Bad Option"
	.Add 11008, "Hardware Error"
	.Add 11009, "Packet Too Big"
	.Add 11010, "Request Timed Out"
	.Add 11011, "Bad Request"
	.Add 11012, "Bad Route"
	.Add 11013, "TimeToLive Expired Transit"
	.Add 11014, "TimeToLive Expired Reassembly"
	.Add 11015, "Parameter Problem"
	.Add 11016, "Source Quench"
	.Add 11017, "Option Too Big"
	.Add 11018, "Bad Destination"
	.Add 11032, "Negotiating IPSEC"
	.Add 11050, "General Failure"
End With

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(".", "root\cimv2")

Do
	Set collSWbemObjectSet = objSWbemServicesEx.ExecQuery("SELECT * FROM Win32_PingStatus WHERE Address = '" & strHost & "'")
	
	For Each objSWbemObjectEx In collSWbemObjectSet
		With objSWbemObjectEx
			If Not IsNull(.StatusCode) Then
				WScript.Echo Now(), .Address, .StatusCode, "[" & objDictionary.Item(.StatusCode) & "]", .ResponseTime
			Else
				WScript.Echo Now(), "Error!"
			End If
		End With
		
		Exit For
	Next
	
	Set collSWbemObjectSet = Nothing
	
	WScript.Sleep lngCheckInterval
Loop

Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing
Set objDictionary      = Nothing

WScript.Quit 0

Отправлено: 18:16, 09-10-2012 | #3