Говоря о PsExec
, я бы настоятельно предложил бы вместо этого использовать Cygwin / OpenSSH.
SSH имеет множество преимуществ (по сравнению с такими инструментами, как PsExec
или даже с индивидуальными услугами).
Например, попробуйте использовать с PsExec
и реализовать то, что делают эти командные строки bash
/ ssh
:
ssh user@remotehost "find . -name something" 2> all.errors.txt
ssh user@remotehost "grep -r something ."
if [ "$?" == "0" ]
then
echo "FOUND"
else
echo "NOT FOUND"
fi
Удачи!
SSH передает (!) Статус удаленного stdout / stderr / exit на локальную оболочку для проверки
(функция убийцы и общее требование для интеграции удаленного выполнения в логику локальных сценариев)
Cygwin / OpenSSH обеспечивает стандартную среду оболочки POSIX
(эффективные затраты времени, фундаментальные инструменты, кроссплатформенность, совместимые привычки и т. д.)
Вы все еще можете / всегда запускать все родные Windows-приложения
(включая автоматическое выполнение *.bat
файлов процессором cmd
)
Вы можете настроить аутентификацию без пароля, используя открытые ключи
(подумайте об автоматических задачах без присмотра)
Совет
Было одно требование, с которым у меня изначально были проблемы:
background sshd
сервис должен был запускать приложения в графическом сеансе пользователя
(чтобы окно приложения отображалось в среде рабочего стола).
приемлемое решение для меня - запуск sshd
службы напрямую в сеансе графического интерфейса пользователя
(запускается автоматически при входе пользователя, перейдите по ссылке, чтобы увидеть изменения в файле конфигурации):
/usr/sbin/sshd -f /home/user/sshd_config