Re: Помогите написать bat-ник-пинговщик
Вот Скрипт небольшой добавлен в назначенные задания через каждые 30 минут pingует указанные компы, если сервер упал пытается если пропинговать 3 раза (на случай отключения света, может все таки включат=))
Option Explicit
On Error Resume Next
Dim strMachines,strResult
Dim objShell,objPing,objStatus
Dim count
Dim bCheck
Dim aMachines
Dim machine
' Задержка на 10 минут
Const TimeSleep = 600000 ' 10 минут = 1000 * 60 * 10
strResult ="Proxy rst:"
strMachines ="Server;comp;User"
count = 0
Set objShell = CreateObject("WScript.Shell")
' Проверка на все ли машины в сети
bCheck = true
Do
If bCheck = False Then
count = count + 1
objShell.Exec "c:\cmd2sms.exe -Q -J MTSOPERATOR 79142758281 AHTUNG!!! SERVER Is DOWN " & strResult
WScript.Sleep(TimeSleep)
End If
strResult ="Proxy rst:"
bCheck = True
On Error Resume Next
aMachines = Split(strMachines,";")
For Each machine In aMachines
Set objPing = GetObject("winmgmts:")._
ExecQuery("Select * from Win32_PingStatus where address = '"& machine &"'")
For Each objStatus In objPing
If IsNull(objStatus.StatusCode) Or objStatus.StatusCode<>0 Then
strResult = strResult & Left(machine,1) & "=0;"
bCheck = false
Else
strResult = strResult & Left(machine,1) & "=1;"
End if
Next
Next
Loop Until bCheck = True Or count>=3
__________________
Не все ври, что знаешь...
|