Как найти / i "String" на выходе PsExec на cmd - PullRequest
0 голосов
/ 17 мая 2018

Я хочу запустить удаленную команду, используя PsExec.exe, и проанализировать вывод, чтобы узнать, был ли он успешным:

PsExec.exe -i -s -d \\60.60.43.3 -u MYDOMAIN\User -p 12345678 calc.exe | find /i "ID"

If %errorlevel% equ 0 echo OK
If %errorlevel% equ 1 echo NO

Pause

Я всегда получаю «НЕТ» в качестве вывода. Даже если я вижу, что в выводе есть «ID» и команда PsExec была успешной.

Как правильно это проверить?

1 Ответ

0 голосов
/ 17 мая 2018

PsExec возвращает идентификатор потока вывода ошибок (2), объединяет поток ошибок с нормальным выводом 2>&1.

PsExec.exe -i -s -d \\60.60.43.3 -u MYDOMAIN\User -p 12345678 calc.exe 2>&1| find /i "ID"
If %errorlevel% equ 0 echo OK
If %errorlevel% equ 1 echo NO
Pause
...