Назад | Перейти на главную страницу

Проблема с разрешениями? Putty + Plink + Pageant + Powershell + запланированное задание

Задний план

У меня есть следующие компоненты:

Цель

В конце концов, чтобы запустить запланированную задачу как учетную запись службы, которая вызывает powershell как учетную запись службы, которая запускает процесс и выполняет команды ssh.

Эта проблема

Вопросы

Сценарий

Если это поможет:

#Starts the vcenter2 server.
#if the server is already started, it will tell you so.

#Stop an error from occurring when a transcript is already stopped
$ErrorActionPreference="SilentlyContinue"
Stop-Transcript | out-null

#Reset the error level before starting the transcript
$ErrorActionPreference="Continue"
Start-Transcript -path C:\Scripts\logs\StartTheVCenter2Server.log -append

#Run plink and reference the commands file to start up the server
Start-Process "C:\Program Files (x86)\PuTTY\plink.exe" -Argumentlist "-agent -m C:\Scripts\idrac_powerup_commands.txt root@[servernameredacted]" -wait -RedirectStandardOutput "C:\Scripts\logs\plinklog.log"

#Clean-up
Stop-Transcript

Мысли? Я, скорее всего, поиграю с Invoke-Command, чтобы увидеть, смогу ли я перенаправить вывод хотя бы в мой журнал.

Спасибо!

Общая причина plink.exe "зависания", которые я видел, - это запросы на добавление ключа хоста в реестр. Однако я думаю, что ключ хоста уже есть в вашем реестре. Я бы добавил -batch аргумент plink и посмотрите, получится ли у вас полный отказ или зависание. По крайней мере, это должно направить вас на правильный путь.

Как бы то ни было, у меня была очень похожая проблема - psftp не работал в сценарии, который был запланирован в Windows 7 для запуска, вне зависимости от того, вошел ли пользователь в систему или нет. В моем случае я использовал сохраненный сеанс конкурса, на который ссылалась командная строка; и поскольку конкурс не запускается в том же контексте, что и запланированная задача, он зависнет. Я решил проблему, используя флаг -i в psftp и указав расположение закрытого ключа в самом скрипте.

Ваш Plink звонок использует -агент (pageant) для аутентификации, но вы явно не запустили службу, поэтому может возникнуть проблема, экспортируйте свой закрытый ключ в файл ключей без пароля и укажите на него прямую ссылку (identity), чтобы увидеть, не виновата ли аутентификация. Также временно добавьте -v (подробный), а затем проверьте журнал событий.