Любой сисадмин рано или поздно сталкивается с ситуацией, когда юзер, который обращается с жалобами на проблемы, весьма далек от технических нюансов (классическая ситуация – какая-то блондинка, максимально подробное описание проблемы у которой сводится к «инет не работает»). Вот для таких случаев может пригодится нижеприведенный сценарий, результат работы которого юзер каким-то образом должен передать админу.
-
set cur_time=%time:~0,8%
-
set cur_date=%date%
-
set f=result.txt
-
set TMP=defgate.rsl
-
set STEPS=8
-
-
echo Please wait a few minutes. Diagnostics in progess…
-
echo %cur_time% %cur_date% >> %f%
-
ipconfig /all >> %f%
-
echo Step 1 of %STEPS% completed.
-
tracert -d 195.214.195.105 >> %f%
-
echo Step 2 of %STEPS% completed.
-
tracert -d -h 7 avz.org.ua >> %f%
-
echo Step 3 of %STEPS% completed.
-
tracert -d -h 7 mail.ru >> %f%
-
echo Step 4 of %STEPS% completed.
-
route print >> %f%
-
echo Step 5 of %STEPS% completed.
-
netstat -b >> %f%
-
echo Step 6 of %STEPS% completed.
-
netsh diag show ieproxy >> %f%
-
echo Step 7 of %STEPS% completed.
-
netsh diag show gateway > %TMP%
-
FOR /F "skip=3 tokens=3" %%I IN (%TMP%) DO (
-
ping -n 50 %%I >> %f%
-
route print %%I >> %f%
-
goto END
-
)
-
:END
-
erase %TMP%
-
echo Diagnostics complete. Please, send the file %f% to support team.
Особенно заслуживает внимания конструкция
-
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 /?» :)
Возможно, Вам будет интересна еще и эта заметка:
Появилась новая прошивка WRT160NL v0.1.2 для роутеров Linksys.
Комментариев: 2
Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.
впечатляет :)
Лично я обломался ковыряться с командным интерпретатором, когда понял, что JScript и VBScript намного мощнее. А теперь еще и PowerShell есть. Например, в JScript можно этот вывод сохранить в какой-то файл, который потом переслать электронной почтой через ActiveX компонент Аутлука Экспресс. Не надо пугаться слова ActiveX, это очень просто, буквально несколько строк.
На компы таких «блондинок» ставлю UltraVNC, ибо подругому с ними уже устал. :) Делаю все не уходя со своего места.