У меня есть простой сценарий PowerShell, который получает смещение сервера Ubuntu со временем сервера NTP.
Я запускаю команду
$ result = ssh -i C: \ temp \ privatekey domain \ username @ servername "ntpdate -q 192.168.10.1"
Когда я запускаю этот сценарий вручную, переменная $ result заполняется, как и ожидалось. Когда я запускаю как запланированную задачу (как тот же пользователь), сценарий вообще не устанавливает переменную $ result, оставляя ее пустой.
Есть ли дополнительные параметры, которые мне нужно ввести как часть команды SSH или как часть запланированной задачи, вызывающей скрипт ps? Любая помощь очень ценится.
Когда вы запускаете команду из командной строки, ей доступна вся ваша среда, включая переменную $ PATH. Когда он запускается из планировщика, например cron, это не так.
Поэтому, когда вы пишете сценарии, которые будут запускаться из любого типа schedulare, вы должны всегда включать полный путь ко всем командам в сценарии, или же начать с присвоения сценарию правильной настройки $ PATH.