Запуск PowerShell в планировщике заданий

Я использую PowerShell для загрузки данных из электронной почты.

Я хочу запустить этот процесс с помощью PowerShell. Когда я запускаю скрипт следующим образом:

D:\script.ps1

в powershell.exe работает нормально.

Когда я планирую это в планировщике заданий, ничего не происходит.

Я попытался установить его как программу/скрипт:

powershell
Powershell.exe
powershell.exe

Добавьте аргументы:

-executionpolicy bypass -file D:\script.ps1
-file D:\script.ps1
-file "D:\script.ps1"

И ничего не работает. Я использую Windows 2008 R2.


person HeadOverFeet    schedule 13.01.2017    source источник
comment
powershell вообще запускается? я предполагаю, что это либо ошибка пути, либо политика выполнения, но по вашему вопросу трудно сказать, как сейчас. Попробуйте (1) добавить флаг -noexit, чтобы увидеть сообщение об ошибке, если оно есть, и (2) указать полный путь к powershell, например. C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe   -  person LudvigH    schedule 13.01.2017


Ответы (3)


Устранение неполадок с запланированными задачами — это боль в тылу, потому что вы не можете видеть, что происходит. Вот некоторые вещи, которые вы можете проверить:

Дальнейшая помощь будет сильно зависеть от выводов, которые вы получили, выполнив эти шаги, а также от вашего фактического кода скрипта.

person Ansgar Wiechers    schedule 13.01.2017

Я нашел этот сайт весьма полезным: http://www.microsoftpro.nl/2011/07/07/how-to-schedule-a-powershell-script-using-scheduled-tasks-in-windows-server-2008-r2/

Я также изменил свойство параметра «Безопасность», и это помогло.

Я не проверял: Не сохранять пароль, и теперь он работает без моего входа в сеть.

Мир

person HeadOverFeet    schedule 13.01.2017

Несколько основных наблюдений, с которыми я столкнулся:

  1. Вместо того, чтобы указывать только powershell.exe , попробуйте указать полный путь PS C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe.

  2. Разрешение — еще одна проблема. Пользователь, от имени которого вы запускаете задачу, может не иметь разрешения на ее выполнение.

  3. Политика выполнения: убедитесь, что вы обходите политику выполнения, используя -ExecutionPolicy Bypass.

  4. Убедитесь, что вы запускаете задачу с максимальными правами.

  5. Наконец, путем анализа журналов.

person Ranadip Dutta    schedule 13.01.2017