Задача: выполнить программу / скрипт в удаленной системе Windows и получить ее stdout / stderr.

Помимо настройки SSHd в удаленной системе (скажем, на сервере Cygwin openssh) и запуска ssh для выполнения команд / получения вывода, предпочтительнее использовать менее сложные средства (в большинстве случаев невозможно запросить работающий демон SSH в Windows).

Я пытался использовать PsExec, но эта часть программного обеспечения ведет себя непредсказуемо:

  • когда я запускаю удаленную простую команду типа «C:\Windows\System32\cmd.exe /c dir c:\», она работает нормально; при попытке выполнить более сложные команды может произойти сбой с сообщением типа "Невозможно запустить службу"
  • когда я запускаю команду PsExec из cmd.exe, она работает; когда я пытаюсь запустить его с помощью Invoke-Command от PS, он возвращает бинарный мусор, похожий на "несоответствующий"

Системы, на которых я пытаюсь запустить скрипт: Windows 8, Window 10. Все удаленные системы, по крайней мере, Windows 8 или новее (и соответствующие версии Windows Server).

0