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

Всем привет в этой статье я расскажу как написать VBS скрипт диагностики внутренней сети. Т.е. этот скрипт хорошо использовать системному администратору для диагностики.

Этот скрипт проверки работоспособности сетевых сервисов. Очень удобно, когда приходишь на работу утром, запустил скриптик и результат на лицо))

Результат 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

Скачать готовый скрипт VBS для диагностики сети

Готовый скрипт VBS

Так же рекомендую посмотреть статью ping с записью в файл. Эта статья рассказывает о том как команду ping записать в текстовый документ.

Оцените статью
Установка и настройка популярных программ на Windows, Linux и другие операционные системы