DOC / 1465 SysAdminHub.ru

Как создать задачу в планировщика Windows с помощью PowerShell

Создание задачи в планировщике Windows с помощью PowerShell

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

Прежде чем приступить к созданию запланированной задачи

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

Добавление скрипта в папку

Создайте папку с названием Scripts на диске C:. Поместите ваш PowerShell-скрипт в эту папку, по пути C:\Scripts.

Например, в моем случае это скрипт HealthChecker.ps1.

Создание задачи в планировщике Windows с помощью PowerShell

Создание учетной записи службы

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

В моем примере была создана учетная запись службы с именем svc-hc.

Создание задачи в планировщике Windows с помощью PowerShell 02

Добавьте учетную запись пользователя в группу View-Only Organization Management.

Создание задачи в планировщике Windows с помощью PowerShell 03

Добавление учетной записи службы в локальную группу администраторов

Добавьте учетную запись службы в группу локальных администраторов на каждом сервере, на котором вы хотите запустить сценарий PowerShell, выполнив следующие шаги:

  • Откройте оснастку Управление компьютером.
  • Перейдите в раздел Группы.
  • Дважды щелкните на группу Администраторы.
  • Добавьте учетную запись службы svc-hc.
Создание задачи в планировщике Windows с помощью PowerShell 04

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

Как создать запланированную задачу с помощью PowerShell

Для создания запланированной задачи с помощью PowerShell мы воспользуемся приведенными ниже командлетами:

  1. New-ScheduledTaskTrigger
  2. New-ScheduledTaskSettingsSet
  3. New-ScheduledTaskAction
  4. New-ScheduledTask
  5. Register-ScheduledTask

Шаг 1. Создание объекта триггера запланированной задачи

Создайте триггер, который будет определять время для выполнения сценария.

Пример 1. Этот триггер будет запускать задачу ежедневно в 2 часа ночи.

$hcTrigger = New-ScheduledTaskTrigger -Daily -At 2am

Пример 2. Этот триггер будет запускать задачу каждые четыре недели в понедельник в 2:00 ночи.

$hcTrigger = New-ScheduledTaskTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At 2am

Шаг 2. Создание нового объекта настроек задачи по расписанию

Создайте новый объект настроек для запланированной задачи, используя параметры по умолчанию.

$hcSettings = New-ScheduledTaskSettingsSet

Шаг 3. Создание запланированного действия задачи

Создайте действие для запланированной задачи, указав, какие действия должны быть выполнены.

Пример 1. Обновите скрипт HealthChecker, запустите его на локальном сервере и создайте отчет в формате HTML.

$hcAction = New-ScheduledTaskAction -Execute 'powershell.exe' -WorkingDirectory "C:\Scripts\" -Argument '-NonInteractive -NoLogo -NoProfile -Command ".\HealthChecker.ps1 -ScriptUpdateOnly; .\HealthChecker.ps1; .\HealthChecker.ps1 -BuildHtmlServersReport"'

Пример 2. Запустите сценарий HealthChecker на удаленном сервере Exchange EX02-2019.

$hcAction = New-ScheduledTaskAction -Execute 'powershell.exe' -WorkingDirectory "C:\Scripts\" -Argument '-NonInteractive -NoLogo -NoProfile -Command ".\HealthChecker.ps1 -ScriptUpdateOnly; .\HealthChecker.ps1 -Server EX02-2019; .\HealthChecker.ps1 -BuildHtmlServersReport"'

Шаг 4. Создание экземпляра задачи по расписанию

Создайте новый объект задачи по расписанию, используя заранее определенные объекты действия, триггера и настроек.

$hcTask = New-ScheduledTask -Action $hcAction -Trigger $hcTrigger -Settings $hcSettings

Шаг 5. Регистрация задачи на локальном компьютере

Теперь зарегистрируйте созданную задачу по расписанию.

Register-ScheduledTask -TaskName 'HealthChecker Daily Run' -InputObject $hcTask -User (Read-Host "Please enter username in format (Domain\Username)") -Password (Read-Host "Please enter password")

В выводе отобразится имя созданной задачи:

TaskPath    TaskName                   State
--------    --------                   -----
\           HealthChecker Daily Run    Ready

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

Всегда проверяйте работоспособность запланированной задачи, запуская её вручную.

  • Откройте Планировщик заданий.
  • Щелкните правой кнопкой мыши по созданной задаче.
  • Выберите Выполнить.
Создание задачи в планировщике Windows с помощью PowerShell 05

По завершении работы сценария результат последнего запуска должен отображаться как Операция завершена успешно. (0x0).

Создание задачи в планировщике Windows с помощью PowerShell 06

Отчет о проверке скрипта PowerShell

Проверьте, что сценарий PowerShell успешно экспортировал результаты.

Создание задачи в планировщике Windows с помощью PowerShell 07

Часто задаваемые вопросы

Можно ли запускать PowerShell-скрипт автоматически по расписанию?

Да. Для этого можно создать задачу в Планировщике заданий Windows. В этой статье задача полностью создается и регистрируется с помощью PowerShell.

Как создать ежедневный запуск PowerShell-скрипта?

Используйте командлет New-ScheduledTaskTrigger с параметром -Daily. Например, команда New-ScheduledTaskTrigger -Daily -At 2am создаёт ежедневный запуск в 2:00.

Как запускать задачу раз в несколько недель?

Для этого можно использовать параметры -Weekly и -WeeksInterval. В примере статьи задача запускается каждые четыре недели в понедельник в 2:00.

Для чего используется учетная запись svc-hc?

В рассматриваемом сценарии учетная запись svc-hc используется как служебная учетная запись, от имени которой выполняется запланированная задача HealthChecker.

Можно ли использовать эту инструкцию не только для HealthChecker.ps1?

Да. В статье HealthChecker используется в качестве практического примера. Аналогичным способом можно настроить автоматический запуск других PowerShell-скриптов, изменив действие задачи и необходимые параметры.

Как проверить созданную задачу вручную?

Откройте Планировщик заданий, найдите созданную задачу, щелкните по ней правой кнопкой мыши и выберите Выполнить.

Что означает код 0x0 в Планировщике заданий?

В рассматриваемом примере результат «Операция завершена успешно. (0x0)» означает, что последний запуск запланированной задачи завершился успешно.

Заключение

Теперь вы знаете, как создать задачу по расписанию с помощью PowerShell. Начните с создания учетной записи службы и добавления её в группу View-Only Organization Management. Затем добавьте эту учетную запись в группу локальных администраторов. В конце выполните команды для создания нового запланированного задания. Не забудьте проверить его работоспособность, вручную запустив задачу.

Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как включить корзину Active Directory в Windows Server.

ORIGINAL / ATTRIBUTION

Источник материала

Материал взят с https://sysadminhub.ru/. Оригинальная статья и авторство указаны по ссылке ниже.

Оригинал статьи на SysAdminHub.ru ↗

https://sysadminhub.ru/produkty-microsoft/windows-server/scheduled-task-powershell

Материал проверен 10.10.2026. При изменении программного обеспечения сверяйтесь с актуальной документацией.
← Вернуться в базу знаний