PING с Записью в Файл и Отображением Времени

PING с записью в файл и отображением времени

PING с записью в файл

Всем здравствуйте. Столкнулся с ситуацией когда надо  весь PING залогировать с отображением времени.  Устанавливать различные программы на сервер не хочется. Сразу пришла в голову мысль о CMD только как это сделать??? Начал копать интернет, нашел очень много различных скриптов, но что-то работать ничего не хотело. Как я ни бился как не старался но время никак не хотело прописываться в логах PING. Долго я провел время на различных тематических форумах, и наконец заработало.

PING с записью в файл:

Вот собственно и сам скрипт. Его можно немного отредактировать и пометь для своих целей. Если вы не хотите экспериментов, то смело пролистывайте вниз там вы найдете готовый zip архив.

Скрипт:

option explicit 
' conHost -- адрес хоста для слежения 
' conCheckInterval -- временной интервал 
const conHost = "8.8.8.8", conCheckInterval = 999

' создаём объект: 
dim soWshShell : set soWshShell = CreateObject("WScript.Shell") 
WScript.Quit Main() 

function WriteLog(strText) 
  WScript.Stdout.WriteLine FormatDateTime(Time(), vbLongTime) & " " & strText
end function 

function GetHostStatus(strHost) 
  dim oPing : set oPing = soWshShell.Exec("ping -n 1 " & strHost) 
  dim strOut : strOut = "" 
  do 
    WScript.Sleep 100 
    if not oPing.Stdout.AtEndOfStream then 
      strOut = strOut & oPing.Stdout.ReadAll 
    end if 
  loop until oPing.Status = 1 

  dim oRegExp : set oRegExp = new RegExp 
  oRegExp.IgnoreCase = true 
  oRegExp.Pattern = "[^ ]+:.+TTL=[^\r\n]+" 
  dim oMatches : set oMatches = oRegExp.Execute(strOut) 
  if oMatches.Count > 0 then 
    GetHostStatus = oMatches(0).Value 
  else 
    GetHostStatus = "Inaccessible!.." 
  end if 
end function 

function Main() 
  do 
    WriteLog(GetHostStatus(conHost)) 
    WScript.Sleep(conCheckInterval) 
  loop 
end function

Скачать готовый скрипт.

Далее все просто скопировали скрипт допустим в  корень диска C:
Открываем от имени Администратора командную строку и вводим cd C:/
PING с записью в файл и отображением времени

PING с записью в файл

Осталось ввести команду:  cscript //nologo pingtime.vbs>pingtime.log 
PING с записью в файл и отображением времени

Вводим команду для запуска скрипта

Сразу же рядом со скриптом появится файл pingtime.log, открыв его вы увидите ping и время пинга вот в таком формате.
PING с записью в файл

Открытый файл pingtime.log

Важно: В файле pingtime.log иногда не читабельный текст. Данная проблема возникает из-за кодировки. Чтоб избежать этого смените кодировку. Либо просто поменяйте текстовый редактор. Мне нравится Notepad++ он подсвечивает код и в нем очень много настроек.
Вот в принципе и все. Если кому то помог то значит статью писал не даром.

Скачать готовый скрипт.

Скачав архив вы найдете 3 файла.

  1. pingtime.vbs
  2. start.bat
  3. pingtime.log

Чтоб не заморачиваться рекомендую скачать и распаковать архив, запустить start.bat. И уже через пару секунд вы увидите pingtime.log начнет записывать пинги.

0 0 vote
Article Rating

Читайте также:

Подписаться
Уведомление о
20 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Nazario
21.12.2017 08:51

Поменяйте кодировку в вашем логе и будет счастье.

user
Reply to  Nazario
05.07.2018 13:41

Спасибо

admin
17.10.2017 08:53

Думаю стоит попробовать поменять кодировку файла .txt

Анонимный
12.10.2017 19:25

при записи в файл ползут иероглифы. Как исправить???

Дмитрий К
21.12.2017 08:48

кириллицу не пишет в логе. Набор символов

Анонимный
31.08.2017 07:13

Мерси…

admin
28.08.2017 11:35

Что именно не понятно??? Что поменять чтоб было более понятней?

Mr.Zlo
25.08.2017 13:54

с горем попалам сделал…. а вообще током нихрена не понятно….

Анонимный
22.08.2017 13:13

Спасибо большое помогло.

Black
18.07.2018 09:24

Ой спасибо то что нужно. Говорят точки wi-fi отваливаются. А доказать ничего не могу. Вот теперь с логом все будет предельно ясно.

Zorro
14.11.2018 12:00

Спасибо!

Alex
12.02.2019 16:17

oRegExp.Pattern = «[^ ]+:.+TTL=[^rn]+»
тут последний плюс лишний

Max
24.04.2020 07:04

Выдает данную ошибку
C:\pingtime.vbs(1, 1) Ошибка компиляции Microsoft VBScript: Недопустимый знак

Max
Reply to  Nazario
24.04.2020 08:40

Когда перехожу по данной ссылке: https://yadi.sk/d/Ex569W923L2KpU
Написано: «Ничего не найдено
Владелец удалил файлы либо закрыл к ним доступ или в ссылке опечатка.»

Max
Reply to  Nazario
24.04.2020 09:21

Спасибо)

20
0
Would love your thoughts, please comment.x
()
x