Открыть сервис

Командлет New-ScheduledTaskSettingsSet

New-ScheduledTaskSettingsSet — это командлет командной оболочки Windows PowerShell, входящий в модуль ScheduledTasks, который предназначен для создания объекта, содержащего набор параметров настройки задачи планировщика Windows. Данный объект не создаёт и не изменяет саму задачу, а лишь формирует конфигурацию, которая затем может быть передана другим командлетам, таким как Register-ScheduledTask или Set-ScheduledTask, для применения к конкретной задаче. Командлет впервые появился в Windows 8 и Windows Server 2012 вместе с модулем ScheduledTasks версии 1.0.0.0.

Синтаксис и параметры

Командлет New-ScheduledTaskSettingsSet имеет один синтаксический набор (Default), в котором все параметры являются именованными. Общий вид команды:

`` New-ScheduledTaskSettingsSet [[-AllowStartIfOnBatteries] <Boolean>] [[-Compatibility] <CompatibilityEnum>] [[-DeleteExpiredTaskAfter] <TimeSpan>] [[-DisallowStartOnRemoteAppSession] <Boolean>] [[-DisallowStartIfOnBatteries] <Boolean>] [[-DontStopIfGoingOnBatteries] <Boolean>] [[-DontStopOnIdleEnd] <Boolean>] [[-ExecutionTimeLimit] <TimeSpan>] [[-Hidden] <Boolean>] [[-IdleDuration] <TimeSpan>] [[-IdleRestart] <Boolean>] [[-IdleWaitTimeout] <TimeSpan>] [[-MaintenanceExclusive] <Boolean>] [[-MaintenancePeriod] <TimeSpan>] [[-MaintenanceRandomDelay] <TimeSpan>] [[-MultipleInstances] <MultipleInstancesEnum>] [[-NetworkProfileId] <String>] [[-NetworkUnavailable] <Boolean>] [[-Priority] <Int32>] [[-RestartCount] <Int32>] [[-RestartInterval] <TimeSpan>] [[-RunOnlyIfIdle] <Boolean>] [[-RunOnlyIfNetworkAvailable] <Boolean>] [[-StartWhenAvailable] <Boolean>] [[-StopIfGoingOnBatteries] <Boolean>] [[-TaskInstancesPolicy] <TaskInstancesPolicyEnum>] [[-Volatile] <Boolean>] [<CommonParameters>] ``

Основные параметры

  • AllowStartIfOnBatteries — разрешает запуск задачи при работе компьютера от батарей. Значение по умолчанию — $true.
  • Compatibility — задаёт уровень совместимости задачи с версиями операционной системы. Принимает значения из перечисления CompatibilityEnum: AT, V1, V2, V2_1, V2_2, V2_3, V2_4, Win8, Win10.
  • DeleteExpiredTaskAfter — определяет временной интервал, по истечении которого планировщик автоматически удалит задачу после её окончания. Тип — TimeSpan.
  • DisallowStartOnRemoteAppSession — запрещает запуск задачи в сеансе удалённого приложения RemoteApp.
  • DisallowStartIfOnBatteries — запрещает запуск задачи при питании от батарей. Отличается от AllowStartIfOnBatteries логикой обработки.
  • DontStopIfGoingOnBatteries — не останавливать задачу при переходе на питание от батарей.
  • DontStopOnIdleEnd — не останавливать задачу, если компьютер выходит из режима простоя.
  • ExecutionTimeLimit — максимальное время выполнения задачи. Тип TimeSpan. Значение по умолчанию — 72 часа для обычных задач, 1 час для задач с триггерами по событиям.
  • Hidden — скрывает задачу в интерфейсе планировщика задач.
  • IdleDuration — минимальная продолжительность простоя, необходимая для запуска задачи. Используется с параметром RunOnlyIfIdle.
  • IdleRestart — перезапускать задачу при возобновлении простоя после выхода из него.
  • IdleWaitTimeout — максимальное время ожидания простоя перед запуском задачи.
  • MaintenanceExclusive — указывает, что задача должна выполняться исключительно в рамках периода обслуживания.
  • MaintenancePeriod — периодичность автоматического обслуживания задачи.
  • MaintenanceRandomDelay — случайная задержка перед запуском задачи обслуживания.
  • MultipleInstances — определяет поведение при попытке запуска новой копии задачи, когда предыдущая ещё выполняется. Принимает значения из перечисления MultipleInstancesEnum: IgnoreNew, Parallel, Queue, StopExisting.
  • NetworkProfileId — идентификатор сетевого профиля (GUID), при котором разрешён запуск задачи.
  • NetworkUnavailable — разрешает запуск задачи при недоступности сети.
  • Priority — приоритет процесса задачи в диапазоне от 0 (наивысший) до 10 (наинизший). Значение по умолчанию — 7.
  • RestartCount — количество попыток перезапуска задачи в случае сбоя.
  • RestartInterval — интервал между попытками перезапуска.
  • RunOnlyIfIdle — запускать задачу только при простое компьютера.
  • RunOnlyIfNetworkAvailable — запускать задачу только при наличии сетевого подключения.
  • StartWhenAvailable — запускать задачу при первой возможности, если пропущен запланированный момент.
  • StopIfGoingOnBatteries — останавливать задачу при переходе на питание от батарей.
  • TaskInstancesPolicy — политика экземпляров задачи (устаревший параметр, заменён на MultipleInstances).
  • Volatile — делает задачу энергозависимой: после перезагрузки системы задача не сохраняется, если не была изменена.

Возвращаемое значение

Командлет возвращает объект типа Microsoft.Management.Infrastructure.CimInstance, представляющий класс MSFT_TaskSettings из пространства имён Root/Microsoft/Windows/TaskScheduler. Этот объект содержит все указанные настройки и может быть передан по конвейеру другим командлетам.

Примеры использования

Создание базового набора настроек

`` $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries $true -StartWhenAvailable $true ``

Данная команда создаёт объект настроек, разрешающий запуск задачи от батарей и отложенный запуск при пропуске времени.

Создание настроек с ограничением времени выполнения

`` $settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Hours 4) ``

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

Создание настроек для задачи обслуживания

`` $settings = New-ScheduledTaskSettingsSet -MaintenancePeriod (New-TimeSpan -Days 7) -MaintenanceExclusive $true ``

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

Передача настроек при регистрации задачи

`` $action = New-ScheduledTaskAction -Execute "C:\Scripts\backup.ps1" $trigger = New-ScheduledTaskTrigger -Daily -At 3am $settings = New-ScheduledTaskSettingsSet -DontStopIfGoingOnBatteries $true -RestartCount 3 -RestartInterval (New-TimeSpan -Minutes 10) Register-ScheduledTask -TaskName "DailyBackup" -Action $action -Trigger $trigger -Settings $settings ``

В этом примере создаётся ежедневная задача резервного копирования с настройками: не останавливать при переходе на батареи, при сбое перезапускать до 3 раз с интервалом 10 минут.

Ограничения и особенности

  • Командлет работает только в Windows PowerShell (версии 4.0 и выше) и PowerShell Core (начиная с версии 6.0) на платформах Windows.
  • Параметр TaskInstancesPolicy считается устаревшим и не рекомендуется к использованию; вместо него следует применять MultipleInstances.
  • Параметр Priority принимает значения от 0 до 10, где 0 — наивысший приоритет (реального времени), 7 — нормальный, 10 — наинизший. Значения ниже 4 требуют прав администратора.
  • Параметр Compatibility влияет на то, какие возможности планировщика доступны задаче. Например, AT обеспечивает совместимость с планировщиком задач Windows NT 4.0, а Win10 — с новейшими функциями Windows 10/11.
  • Параметр Volatile полезен для временных задач, которые не должны переживать перезагрузку системы, но требует осторожности: при сбое питания задача может быть потеряна.

Связанные командлеты

  • Get-ScheduledTask — получение информации о зарегистрированных задачах.
  • Register-ScheduledTask — регистрация новой задачи с указанными настройками.
  • Set-ScheduledTask — изменение существующей задачи.
  • New-ScheduledTaskAction — создание действия задачи.
  • New-ScheduledTaskTrigger — создание триггера задачи.
  • New-ScheduledTaskPrincipal — создание учётной записи для выполнения задачи.

Источники

  • Документация Microsoft: «New-ScheduledTaskSettingsSet» (ScheduledTasks module)
  • Windows PowerShell SDK: класс MSFT_TaskSettings
  • TechNet: «Task Scheduler Cmdlets in Windows PowerShell»
  • Windows 10/11 Task Scheduler Technical Reference

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →