Как правильно запланировать задачу для запуска сценария PowerShell

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

Для начала откройте Task Scheduler , щелкнув меню «Пуск» и набрав Task Scheduler. и нажмите «Создать базовую задачу…» или «Создать задачу…» на панели «Действия».

На шаге Action выберите «Запустить программу» и нажмите «Далее».

В следующем окне введите PowerShell в качестве программы/скрипта и полный путь к файлу скрипта в качестве аргумент. Если в пути есть пробелы, заключите всю строку в кавычки.

Щелкните Далее, чтобы завершить настройку.

Почему задание не выполнено?

Задача не будет иметь проблем с запуском, если установлена ​​локальная политика выполнения PowerShell. как неограниченный. Или он потерпит неудачу.

Итак, как этого избежать?

Вы можете указать, какую политику использовать с переключателем -ExecutionPolicy , как показано ниже:

 PowerShell -ExecutionPolicy Unrestricted -File "fullpath  script.ps1" 

Для запланированных задач поместите PowerShell в поле Программа/сценарий и остальное в поле аргументов.

Как мне скрыть окно PowerShell во время выполнения?

По умолчанию, когда скрипт запускается, он открывает окно консоли PowerShell и закрывает его, когда работа завершена. Если задание выполняется относительно быстро, нет ничего страшного в том, чтобы оставить его открытым, но когда задание занимает больше времени, это лучше не так очевидно.

Вот где переключатель -WindowStyle входит в игру. Вы можете выбрать один из четырех типов стиля: нормальный, минимизированный, развернутый и скрытый. Очевидно, скрытое — это то, что нам нужно.

В совокупности

 PowerShell -ExecutionPolicy Unrestricted -WindowStyle Hidden -File "fullpath  script.ps1" 

А как насчет PowerShell 7?

Если у вас установлен PowerShell 7 и вы хотите, чтобы он запускал ваш сценарий, совместимый с PowerShell 7, используйте pwsh для запуска PowerShell вместо. Все упомянутые выше переключатели по-прежнему применяются.

Оцените статью
toodcast.ru
Добавить комментарий