bigfoothart
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору mugil_cephalus Цитата: for /f "tokens=3" %%A in ('"net use \\192.168.0.10\c$ 111 /USER:admin"') do echo _%%A_ | при успехе пишет " _успешно_ ", при ошибках, не выводит даже __ . Ладно, пытаюсь реализовать свою идею: Код: @echo off cd %~dp0 md logs del logs\*.log log.txt for /f %%i in (userlist.txt) do call :_1 %%i del logs\*.log :_1 net use \\%1\c$ pass /USER:admin >logs\%1.log 2>&1 findstr "1326" logs\%1.log if errorlevel 0 echo %1 #1326 wrong login or pwd >>log.txt findstr "67" logs\%1.log if errorlevel 0 echo %1 #67 node not found >>log.txt findstr "5" logs\%1.log if errorlevel 0 echo %1 #5 access denied >>log.txt findstr "64" logs\%1.log if errorlevel 0 echo %1 #64 node not available >>log.txt findstr "1219" logs\%1.log if errorlevel 0 echo %1 #1219 no more than 1 user >>log.txt ::psexec.exe \\%1 -u admin -p pass soft.bat goto :eof | в userlist.txt соответственно список IP, к которым коннектимся. Не могу связать findstr с if. Нужно чтобы, если в %IP%.log найдется какая-нибудь из ошибок, он бы в log.txt заносил IP и ошибку, ну а впоследствии плюс к "echo >> log.txt" еще какие-нибудь команды выполнять, типа вход с альтернативным паролем. "If errorlevel 0" это я так условно пишу, чтобы был понятен алгоритм. Хотя по идее должно работать, но не работает как надо, потому что все 5 ошибок пишет в лог. в итоге это все нужно, чтобы запустить psexec и отслеживать что, почему не сработало. UPD: все работает если вместо "If errorlevel 0" поставить "If not errorlevel 1" | Всего записей: 7 | Зарегистр. 14-03-2008 | Отправлено: 11:38 10-11-2009 | Исправлено: bigfoothart, 13:51 10-11-2009 |
|