Простой скрипт vbs для диагностики внутренней сети компании

VBS Скрипт для диагностики внутренней сети компании

Простой криптик для проверки работоспособности сетевых сервисов. Очень удобно, когда приходишь на работу утром, запустил скриптик и результат на лицо))
Ну это при условии, если Вы не хотите устанавливать «жадное ПО». Впрочем можно доделать под свои нужды, если будут пожелания, пишите в комментариях.

Текст ниже можно скопировать в текстовый файлик и пересохранить с расширением *.vbs

status = vbInformation
StrKar = CHR (13) + CHR (10) ‘ Перенос каретки
myStr = «Диагностика сети v1.0:» + StrKar

‘————————
‘ Пример Ping()
‘————————
myStr = myStr + StrKar + «Серверы:» + StrKar
If ping(«10.0.0.111″) then
myStr = myStr + «Сервер — шлюз — [OK]» + StrKar
Else
myStr = myStr + «Сервер шлюз — [недоступен!!!]» + StrKar
status = vbCritical
end if

myStr = myStr + StrKar + «Сервисы:» + StrKar
If ping(«ya.ru») then
myStr = myStr + «Интернет (ya.ru) — [OK]» + StrKar
Else
myStr = myStr + «Интернет (ya.ru) — [недоступен!!!]» + StrKar
status = vbCritical
end if

myStr = myStr + StrKar + «Сервисы:» + StrKar
If ping(«10.0.0.211″) then
myStr = myStr + «DNS, domain (10.0.0.211) — [OK]» + StrKar
Else
myStr = myStr + «DNS, domain (10.0.0.211) — [недоступен!!!]» + StrKar
status = vbCritical
end if

myStr = myStr + StrKar + «Сервисы:» + StrKar
If ping(«10.0.0.31″) then
myStr = myStr + » (10.0.0.31) — [OK]» + StrKar
Else
myStr = myStr + «Интернет (10.0.0.31) — [недоступен!!!]» + StrKar
status = vbCritical
end if

myStr = myStr + StrKar + «Сервисы:» + StrKar
If ping(«10.0.0.41″) then
myStr = myStr + » (10.0.0.41) — [OK]» + StrKar
Else
myStr = myStr + «Интернет (10.0.0.41) — [недоступен!!!]» + StrKar
status = vbCritical
end if

myStr = myStr + StrKar + «Сервисы:» + StrKar
If ping(«10.0.0.50″) then
myStr = myStr + » (10.0.0.50) — [OK]» + StrKar
Else
myStr = myStr + «Интернет (10.0.0.5) — [недоступен!!!]» + StrKar
status = vbCritical
end if

‘—————————-
‘ Пример nslookup()
‘—————————-
If Nslookup(«meta.ua») then
myStr = myStr + «DNS Server (nslup meta.ua) — [OK]» + StrKar
Else
myStr = myStr + «DNS Server (nslkup meta.ua) — [недоступен!!!]» + StrKar
status = vbCritical
end if

‘—————————-
‘ Пример IsAPIPA()
‘—————————-
if IsAPIPA then
myStr = myStr + StrKar + «Дополнительно:» + StrKar + «IP адрес — [APIPA!!!]» + StrKar
myStr = myStr + «Внимание. Обнаружен некорректный ip адрес!!!» + StrKar
myStr = myStr + «Перезагрузите компьютер. Если проблема повторится, проверьте доступность DHCP сервера либо назначьте ip адрес вручную» + StrKar
myStr = myStr + «Примечание: Если при этом у вас прекрасно работает сеть, считайте данное сообщение ошибочным» + StrKar
else
myStr = myStr + StrKar + «Дополнительно:» + StrKar + «IP адрес — [OK] (Не APIPA)» + StrKar
end if

‘—————————-
‘ Вывод результатов
‘—————————-
msgbox myStr, status, «Результаты:»

‘——————
‘ Функции
‘——————
Function Ping(strAddr)
‘ Проверяем доступность компьютера с помощью команды PING
Set objShell = CreateObject(«WScript.Shell»)
Set objScriptExec = objShell.Exec(«%comspec% /c ping.exe -n 1 » & strAddr)
strPingResults = LCase(objScriptExec.StdOut.ReadAll)

‘ Возвращаем результат:
Ping = InStr(strPingResults, «ttl=»)
End Function

Function Nslookup(strAddr)
‘ Проверяем работу DNS сервера через nslookup
Set objShell = CreateObject(«WScript.Shell»)
Set objScriptExec = objShell.Exec(«%comspec% /c nslookup.exe -q=mx » & strAddr)
strNslookupResults = LCase(objScriptExec.StdOut.ReadAll)

‘ Возвращаем результат:
Nslookup = InStr(strNslookupResults, «mail»)
End Function

Function IsAPIPA()
‘ Проверяет, нет ли сетевых карт, получивших APIPA адрес
Set objShell = CreateObject(«WScript.Shell»)
Set objScriptExec = objShell.Exec(«%comspec% /c ipconfig /all»)
strIsAPIPAResults = LCase(objScriptExec.StdOut.ReadAll)

‘ Возвращаем результат:
IsAPIPA = InStr(strIsAPIPAResults, «169.254.»)
End Function

Скачать можно здесь