Использование PSEXEC для запуска удаленного EXE с пользовательским флагом

Я пытаюсь запустить exe удаленно, но не могу запустить программу с пользовательским флагом /r.

psexec -u DOMAIN\Username -p Password -s \\XXX.XXX.XXX.XXX -i "C:\Windows\System32\Program.exe /r"

Однако вывод, который я получаю, завершается в XXX.XXX.XXX.XXX с кодом ошибки 87. Это код ошибки для недопустимого аргумента.

1 ответ

Решение

Оказывается, проблема была не в коде, а в сервере, на котором я тестировал. Позор мне, если предположить, что Windows сделает то, что должен. Приложение упало несколько дней назад, поэтому и произошел сбой cmd. Это прекрасно работает:

psexec -u domain\username -p password -s \\XXX.XXX.XXX.XXX -i "C:\Windows\System32\Program.exe\" /r

Бонусный раунд После запуска cmd сервер должен перезагрузиться, и это стало проблемой. Я продолжал получать разные коды ошибок, а потом, наконец, не мог найти способ дать серверу причину отключения. Вот мой код для этого. Он перезагружается (/r), принудительно завершает работу (/f), задержка составляет 1 секунду (/t 1), помечает причину выключения как незапланированную причину 00:00(/d U:00:00).

psexec \\XXX.XXX.XXX.XXX -e -u domain\username -p password shutdown /r /f /t 1 /d U:00:00
Другие вопросы по тегам