Показать сообщение отдельно
Старый 11.09.2008, 15:09   #2
serjykt
Пользователь
 
Пол:Мужской
Регистрация: 10.10.2005
Сообщений: 163
Репутация: 244
По умолчанию 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
__________________
Не все ври, что знаешь...
serjykt вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.02046 секунды с 10 запросами