Оказывается, проблема связана не с кодом, а с сервером, на котором я тестировал. Позор мне, полагая, что Windows будет делать то, что он должен. Приложение несколько дней назад потерпело крах из-за этого, почему команда отказалась. Это отлично работает:
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