Set-JobTrigger
Изменяет триггер задания для запланированного задания.
Синтаксис
Set-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-DaysInterval <Int32>]
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
[-At <DateTime>]
[-User <String>]
[-DaysOfWeek <DayOfWeek[]>]
[-AtStartup]
[-AtLogOn]
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[-Daily]
[-Weekly]
[-PassThru]
[<CommonParameters>]
Описание
Командлет Set-JobTrigger
изменяет свойства триггеров заданий запланированных заданий. Его можно использовать для изменения времени или частоты, с которой запускаются задания, а также для перехода от расписаний на основе времени к расписаниям, где активация осуществляется при загрузке системы или входе в нее.
Триггер задания определяет повторяющееся расписание или условия запуска запланированного задания. Хотя триггеры задания не сохраняются на диске, можно изменить триггеры задания для сохраненных на диск запланированных заданий.
Чтобы изменить триггер задания запланированного задания, начните с помощью Get-JobTrigger
командлета, чтобы получить триггер задания запланированного задания. Затем передайте триггер Set-JobTrigger
или сохраните триггер в переменной и используйте параметр InputObject командлета для идентификации триггера Set-JobTrigger
.
Используйте оставшиеся параметры Set-JobTrigger
для изменения триггера задания.
При изменении типа триггера задания, например при изменении триггера задания с ежедневного или еженедельного триггера на триггер AtLogon , удаляются исходные свойства триггера. Однако при изменении значений триггера, но не его типа, например, при изменении дней еженедельного триггера, изменяются только задаваемые свойства. Все остальные свойства исходного триггера задания сохраняются.
Set-JobTrigger
— одна из коллекций командлетов планирования заданий в модуле PSScheduledJob, включенном в Windows PowerShell.
Дополнительные сведения о запланированных заданиях см. в разделах описания в модуле PSScheduledJob. Импортируйте модуль PSScheduledJob, а затем введите Get-Help about_Scheduled*
или просмотрите about_Scheduled_Jobs.
Этот командлет впервые появился в Windows PowerShell 3.0.
Примеры
Пример 1. Изменение дней в триггере задания
В этом примере показано, как изменить дни в еженедельном триггере задания.
Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
Get-JobTrigger -Name "DeployPackage" | Set-JobTrigger -DaysOfWeek "Wednesday", "Sunday" -PassThru
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Sunday} True
Первая команда использует Get-JobTrigger
командлет для получения триггера задания запланированного DeployPackage
задания. Выходные данные показывают, что триггер запускает задание в полночь по средам и субботам.
Вторая команда использует Get-JobTrigger
командлет для получения триггера задания запланированного DeployPackage
задания. Оператор конвейера (|
) отправляет триггер в командлет, который изменяет триггер Set-JobTrigger
задания таким образом, чтобы он запускал DeployPackage
задание в среду и воскресенье. Команда использует параметр PassThru для возврата триггера после изменения.
Эта команда не является обязательной, она включена только для того, чтобы показать эффект изменения триггера.
Пример 2. Изменение типа триггера задания
В этом примере показано, как изменить тип триггера задания, который запускает задание. Команды в этом примере заменяют AtStartup
триггер задания еженедельным триггером.
Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
Get-JobTrigger -Name "Inventory" -TriggerID 2 | Set-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At "12:00 AM"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 Weekly 10/31/2011 12:00:00 AM {Monday} True
Первая команда использует Get-JobTrigger
командлет для получения триггера задания запланированного Inventory
задания. В выходных данных показано, что задание имеет два триггера ежедневного триггера и триггер AtStartup .
Вторая команда использует Get-JobTrigger
командлет для получения триггера Inventory
задания AtStartup задания. Команда использует параметр TriggerID для идентификации триггера задания. Оператор конвейера (|
) отправляет триггер задания командлету, который изменяет его на еженедельный триггер Set-JobTrigger
задания, который выполняется каждые четыре недели в понедельник в полночь. Команда использует параметр PassThru для возврата триггера после изменения.
Эта команда не является обязательной, она включена только для того, чтобы показать эффект изменения триггера.
Пример 3. Изменение пользователя в триггере удаленного задания
Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Эта команда изменяет пользователя во всех триггерах заданий AtLogon запланированных заданий на компьютере Server01.
Команда использует Invoke-Command
командлет для выполнения команды на компьютере Server01.
Удаленная команда начинается с Get-ScheduledJob
команды, которая получает все запланированные задания на компьютере. Запланированные задания передаются Get-JobTrigger
командлету, который получает триггеры задания запланированных заданий. Каждый триггер задания содержит свойство JobDefinition , содержащее запланированное задание, поэтому триггер остается связанным с запланированным заданием даже при изменении.
Триггеры задания передаются Where-Object
в командлет, который получает триггеры задания с свойством User . Выбранные триггеры задания передаются командлету Set-JobTrigger
, который изменяет пользователя Domain01\Admin02
на .
Пример 4. Изменение одного из нескольких триггеров задания
Get-JobTrigger -Name "SecurityCheck"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 4/24/2013 3:00:00 AM True
2 Weekly 4/24/2013 4:00:00 PM {Sunday} True
3 Once 4/24/2013 4:00:00 PM True
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:00:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:30:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Команды в этом примере изменяют интервал повторения триггера задания "Один раз " запланированного SecurityCheck
задания каждые 60 минут на каждые 90 минут. Запланированное SecurityCheck
задание имеет три триггера задания, поэтому команды используют параметр Get-JobTrigger
TriggerId командлета для идентификации измененного триггера задания.
Первая команда использует Get-JobTrigger
командлет для получения всех триггеров задания запланированного SecurityCheck
задания. Выходные данные, отображающие идентификаторы триггеров задания, показывают, что триггер задания "После создания" имеет идентификатор3
.
Вторая команда использует параметр Get-JobTrigger
TriggerID командлета для получения триггера после запланированного SecurityCheck
задания. Командная команда передает триггер Format-List
командлету, который отображает все свойства триггера задания "Один раз ". В выходных данных показано, что триггер запускает задание один раз в час (ПовторениеInterval составляет 1 час) в течение одного дня (Повторение — 1 день).
Третья команда изменяет интервал повторения триггера задания с одного часа до 90 минут. Команда не возвращает выходные данные.
Четвертая команда отображает эффект изменения. Выходные данные показывают, что триггер запускает задание каждые 90 минут (ПовторениеInterval составляет 1 час, 30 минут) в течение одного дня (повторение — 1 день).
Параметры
-At
Запускает задание в указанный день и указанное время. Введите объект DateTime, например возвращаемый Get-Date
командлетом, или строку, которую можно преобразовать в время, например April 19, 2012 15:00
, 12/31/2013 9:00 PM
или 3am
.
Если не указать элемент объекта DateTime , например секунд, этот элемент триггера задания не изменяется. Если исходный триггер задания не включал объект DateTime и не указан элемент, триггер задания создается с соответствующим элементом из текущей даты и времени.
При использовании параметра "После" задайте для параметра At определенное значение даты и времени. Так как дата по умолчанию в объекте DateTime является текущей датой, установка времени до текущего времени без явной даты приводит к триггеру задания в течение времени в прошлом.
Объекты DateTime и строки, преобразованные в объекты DateTime, автоматически настраиваются для совместимости с форматами даты и времени, выбранными для локального компьютера в регионе и языке в панель управления.
Тип: | DateTime |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-AtLogOn
Запускает запланированное задание при входе указанных пользователей на компьютер. Чтобы указать пользователя, используйте параметр User .
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-AtStartup
Запускает запланированное задание при запуске Windows.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Daily
Указывает регулярное ежедневное расписание задания. Используйте другие параметры в наборе параметров Daily , чтобы указать сведения о расписании.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DaysInterval
Указывает количество дней между выполнениями для ежедневного расписания. Например, значение запуска запланированного 3
задания в днях 1
4
7
и т. д. Значение по умолчанию — 1
.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DaysOfWeek
Указывает дни недели, по которым выполняется запланированное задание. Введите имена дней, например Monday
Thursday
, целые-0
6
числа, где 0
представляет воскресенье или звездочку (*
) для каждого дня. Этот параметр требуется в еженедельном наборе параметров.
Названия дней преобразуются в их целочисленные значения в триггере задания. При закрытии имен дней в кавычки в команде заключите каждое имя дня в отдельные кавычки, например "Monday", "Tuesday"
. Если заключить несколько названий дней в одну пару одинарных кавычек, соответствующие целые значения суммируются. Например, "Monday, Tuesday"
(1 + 2
) приводит к значению Wednesday
(3
).
Тип: | DayOfWeek[] |
Допустимые значения: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Указывает триггеры задания. Введите переменную, содержащую объекты ScheduledJobTrigger, или введите команду или выражение, которое получает объекты ScheduledJobTrigger, например Get-JobTrigger
команду.
Вы также можете передать объект Set-JobTrigger
ScheduledJobTrigger в .
Если указать несколько триггеров заданий, Set-JobTrigger
внесите одинаковые изменения во все триггеры задания.
Тип: | ScheduledJobTrigger[] |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Once
Задает разовое (неповторяющееся) расписание.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PassThru
Возвращает изменившиеся триггеры задания. По умолчанию этот командлет не создает выходные данные.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RandomDelay
Включает случайную задержку, которая начинается в запланированное время начала, и задает максимальное значение этой задержки.
Длительность задержки задается для каждого запуска псевдослучайным образом и лежит в диапазоне от нуля до значения этого параметра. Значение по умолчанию, ноль (00:00:00
), отключает случайную задержку.
Введите объект timepan, например один, возвращаемый New-TimeSpan
командлетом, или введите значение в формате, которое автоматически преобразуется в <hours>:<minutes>:<seconds>
объект timepan.
Тип: | TimeSpan |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RepeatIndefinitely
Этот параметр, доступный начиная с Windows PowerShell 4.0, устраняет необходимость указания значения TimeSpan.MaxValue для параметра RepetitionDuration для многократного выполнения запланированного задания в течение неопределенного периода.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RepetitionDuration
Повторяет задание до истечения заданного времени. Частота повторения определяется значением параметра RepetitionInterval . Например, если значение "Повторение" равно 5 минутам, а значение "Повторение " составляет 2 часа, задание запускается каждые пять минут в течение двух часов.
Введите объект timepan, например New-TimeSpan
возвращаемый командлетом или строку, которую можно преобразовать в объект timepan, например 1:05:30
.
Чтобы запустить задание на неопределенный срок, добавьте вместо него параметр RepeatIndefinitely .
Чтобы остановить задание до истечения срока действия повторения триггера задания, задайте для значения "Повторение ", равное нулю (0
).
Чтобы изменить длительность повторения или интервал повторения триггера задания "После ", команда должна включать параметры "Повторение" и "Повторение ". Чтобы изменить длительность повторения или интервалы повторения других типов триггеров заданий, команда должна включать параметры "Один раз", "At", "Повторение" и "Повторение".
Тип: | TimeSpan |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RepetitionInterval
Повторяет задание с определенным интервалом. Например, если значение этого параметра равно 2 часам, задание активируется каждые два часа. Значение по умолчанию не 0
повторяет задание.
Введите объект timepan, например New-TimeSpan
возвращаемый командлетом или строку, которую можно преобразовать в объект timepan, например 1:05:30
.
Чтобы изменить длительность повторения или интервал повторения триггера задания "После ", команда должна включать параметры "Повторение" и "Повторение ". Чтобы изменить длительность повторения или интервалы повторения других типов триггеров заданий, команда должна включать параметры "Один раз", "At", "Повторение" и "Повторение".
Тип: | TimeSpan |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-User
Указывает пользователей, которые активируют начало запланированного задания AtLogon . Введите имя пользователя в <UserName>
формате или формате или <Domain>\<Username>
введите звездочку (*
) для представления всех пользователей. По умолчанию заданы все пользователи.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Weekly
Указывает регулярное еженедельное расписание задания. Используйте другие параметры в параметре Weekly , чтобы указать сведения о расписании.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WeeksInterval
Указывает количество недель между выполнениями для еженедельного расписания. Например, значение запуска запланированного 3
задания в неделях 1
4
7
и т. д. Значение по умолчанию — 1
.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Триггер задания можно передать этому командлету.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
При использовании параметра PassThru этот командлет возвращает триггеры задания, которые он изменил.
Примечания
- Триггеры задания имеют свойство JobDefinition , которое связывает их с запланированным заданием. При изменении триггера запланированного заданий изменяется и это задание. Для применения измененного триггера к запланированному заданию не требуется использовать
Set-ScheduledJob
команду.
Связанные ссылки
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob
PowerShell