Skip to content


Диагностика сетевых проблем

Любой сисадмин рано или поздно сталкивается с ситуацией, когда юзер, который обращается с жалобами на проблемы, весьма далек от технических нюансов (классическая ситуация – какая-то блондинка, максимально подробное описание проблемы у которой сводится к "инет не работает"). Вот для таких случаев может пригодится нижеприведенный сценарий, результат работы которого юзер каким-то образом должен передать админу.

  1. set cur_time=%time:~0,8%
  2. set cur_date=%date%
  3. set f=result.txt
  4. set TMP=defgate.rsl
  5. set STEPS=8
  6.  
  7. echo Please wait a few minutes. Diagnostics in progess...
  8. echo %cur_time% %cur_date% >> %f%
  9. ipconfig /all >> %f%
  10. echo Step 1 of %STEPS% completed.
  11. tracert -d 195.214.195.105 >> %f%
  12. echo Step 2 of %STEPS% completed.
  13. tracert -d -h 7 avz.org.ua >> %f%
  14. echo Step 3 of %STEPS% completed.
  15. tracert -d -h 7 mail.ru >> %f%
  16. echo Step 4 of %STEPS% completed.
  17. route print >> %f%
  18. echo Step 5 of %STEPS% completed.
  19. netstat -b >> %f%
  20. echo Step 6 of %STEPS% completed.
  21. netsh diag show ieproxy >> %f%
  22. echo Step 7 of %STEPS% completed.
  23. netsh diag show gateway > %TMP%
  24. FOR /F "skip=3 tokens=3" %%I IN (%TMP%) DO (
  25.         ping -n 50 %%I >> %f%
  26.         route print %%I >> %f%
  27.         goto END
  28. )
  29. :END
  30. erase %TMP%
  31. echo Diagnostics complete. Please, send the file %f% to support team.

Особенно заслуживает внимания конструкция

  1. FOR /F "skip=3 tokens=3" %%I IN (%TMP%)

которая представляет собой некоторый аналог связки команд tail и awk (или cut) в Unix-системах. Ключ skip=3 означает, что в файле %TMP% будет пропущено первые 3 строки, а tokens=3, означает, что в параметр цикла %%I будет подставлена 3-яя по счету подстрока в 4-ой строке файла (подстроки по умолчанию разделяются пробелами). Так что даже не имея под рукой любимого bash-а, в Windows можно как-то выкрутиться, всего-то почитав хелп "for /?" :)

Размещено в категории Windows.

Комментариев: 2

Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.

  1. Харон said

    впечатляет :)
    Лично я обломался ковыряться с командным интерпретатором, когда понял, что JScript и VBScript намного мощнее. А теперь еще и PowerShell есть. Например, в JScript можно этот вывод сохранить в какой-то файл, который потом переслать электронной почтой через ActiveX компонент Аутлука Экспресс. Не надо пугаться слова ActiveX, это очень просто, буквально несколько строк.

  2. На компы таких "блондинок" ставлю UltraVNC, ибо подругому с ними уже устал. :) Делаю все не уходя со своего места.

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.

Страница 1 из 11