New-JobTrigger
Создает триггер задания для запланированного задания.
Синтаксис
New-JobTrigger
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[<CommonParameters>]
New-JobTrigger
[-DaysInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Daily]
[<CommonParameters>]
New-JobTrigger
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
-DaysOfWeek<DayOfWeek[]>
[-Weekly]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-AtStartup]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-User <String>]
[-AtLogOn]
[<CommonParameters>]
Описание
Командлет New-JobTrigger
создает триггер задания, который запускает запланированное задание в однократном или повторяющемся расписании или при возникновении события.
Объект ScheduledJobTrigger можно использовать для New-JobTrigger
задания триггера задания для нового или существующего запланированного задания. Можно также создать триггер задания с Get-JobTrigger
командлетом, чтобы получить триггер задания существующего запланированного задания или с хэш-табличным значением для представления триггера задания.
При создании триггера задания просмотрите значения по умолчанию параметров, указанных командлетом New-ScheduledJobOption
. Эти параметры, имеющие одинаковые допустимые значения и значения по умолчанию в планировщике задач, влияют на планирование и время запланированных заданий.
New-JobTrigger
— одна из коллекций командлетов планирования заданий в модуле PSScheduledJob, включенном в Windows PowerShell.
Дополнительные сведения о запланированных заданиях см. в разделах описания в модуле PSScheduledJob. Импортируйте модуль PSScheduledJob, а затем введите Get-Help about_Scheduled*
или просмотрите about_Scheduled_Jobs.
Этот командлет впервые появился в Windows PowerShell 3.0.
Примеры
Пример 1. Однократный график
В этом примере создается триггер задания для запуска запланированного задания только один раз.
New-JobTrigger -Once -At "1/20/2012 3:00 AM"
Командлет New-JobTrigger
для создания триггера задания, запускающего запланированное задание только один раз. Значение параметра At — это строка, которая Windows PowerShell преобразуется в объект DateTime .
Значение параметра По значению включает явную дату, а не только время. Если дата была пропущена, триггер создается с текущей датой и временем 3:00, что с большой вероятностью относится ко времени в прошлом.
Пример 2. Ежедневное расписание
В этом примере создается триггер задания для запуска запланированного задания каждый третий день.
New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Эта команда создает триггер задания, который запускает запланированное задание каждые 3 дня в 4:15.
Так как значение параметра At не содержит дату, текущая дата используется в качестве значения даты в объекте DateTime . Если дата и время в прошлом, запланированное задание запускается в следующем вхождение, которое составляет 3 дня спустя от значения параметра At .
Пример 3. Еженедельное расписание
В этом примере создается триггер задания, который запускает запланированное задание каждые четвертую неделю в указанные дни этой недели.
New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Weekly 9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True
Эта команда создает триггер задания для запуска запланированного задания в понедельник, среду и пятницу в 2300 часов (11:00 вечера) каждые 4 недели.
Можно также ввести значение параметра DaysOfWeek в целых числах, например -DaysOfWeek 1, 5
.
Пример 4. Расписание входа
В этом примере создается триггер задания для запуска запланированного задания при входе в систему определенного пользователя.
New-JobTrigger -AtLogOn -User Domain01\Admin01
Эта команда создает триггер задания для запуска запланированного задания всякий раз, когда администратор домена регистрируется на компьютере.
Пример 5. Использование случайной задержки
В этом примере создается новый триггер задания с задержкой случайного интервала времени.
New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
Эта команда создает триггер задания для запуска запланированного задания каждый день в 1:00 утра. Команда использует параметр RandomDelay , чтобы задать максимальную задержку в 20 минут. В результате задание выполняется ежедневно в интервале с 1:00 до 1:20, изменяющемся псевдослучайным образом.
Случайную задержку можно использовать для выборки, балансировки нагрузки и других административных задач. При задании значения задержки просмотрите действующие и значения по умолчанию командлета New-ScheduledJobOption
и координирует задержку с параметрами параметра.
Пример 6. Создание триггера задания для нового запланированного задания
В этом примере используется триггер задания для создания нового запланированного задания.
$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t
Первая команда использует New-JobTrigger
командлет для создания триггера задания, запускающего задание каждый понедельник, среду и пятницу в 12:01. Команда сохраняет триггер задания в переменной $t
.
Вторая команда использует Register-ScheduledJob
командлет для создания запланированного задания, которое запускает задание каждый понедельник, среду и пятницу в 12:01. Значение параметра Trigger — триггер, хранящийся в переменной $t
.
Пример 7. Добавление триггера задания в запланированное задание
В этом примере показано, как добавить триггер задания в существующее запланированное задания.
Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
Для любого запланированного задания можно добавить несколько триггеров задания.
Команда использует Add-JobTrigger
командлет для добавления триггера задания в запланированное задание SynchronizeApps . Значение параметра Trigger — это New-JobTrigger
команда, которая выполняет задание каждый день в 3:10.
После завершения команды SynchronizeApps — это запланированное задание, которое выполняется во время, указанное триггером задания.
Пример 8. Создание триггера повторяющегося задания
В этом примере создается триггер повторяющегося задания, который будет выполняться только в течение определенного периода времени.
New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
Эта команда создает триггер задания, который выполняет задание каждые 60 минут в течение 48 часов, начиная с 12 сентября 2013 года в 1:00.
Пример 9. Остановка триггера повторяющегося задания
В этом примере останавливается повторяющийся триггер задания.
Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
Эта команда принудительно останавливает задание SecurityCheck , которое запускается каждые 60 минут до истечения срока действия триггера задания.
Чтобы предотвратить повторение задания, команда использует Get-JobTrigger
триггер задания для задания SecurityCheck и Set-JobTrigger
командлета, чтобы изменить интервал повторения и длительность повторения триггера задания на ноль (0
).
Пример 10. Создание триггера почасового задания
В этом примере создается повторяющийся триггер задания, который выполняется на неопределенный срок.
New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
Следующая команда создает триггер задания, который запускает запланированное задание каждые 12 часов в течение неопределенного периода времени. Расписание начинается завтра (9/21/2012) в полночь (0:00).
Параметры
-At
Запускает задание в указанный день и указанное время. Введите объект DateTime, например возвращаемый Get-Date
командлетом, или строку, которая может быть преобразована в дату и время, например April 19, 2012 15:00
, 12/31
или 3am
. Если не указать элемент даты, например год, дата в триггере имеет соответствующий элемент с учетом текущей даты.
При использовании параметра "После" задайте значение параметра At в будущем дате и времени. Так как дата по умолчанию в объекте DateTime является текущей датой, если указать время до текущей даты без явной даты, триггер задания создается в течение последнего времени.
Объекты DateTime и строки, преобразованные в объекты DateTime, автоматически настраиваются для совместимости с форматами даты и времени, выбранными для локального компьютера в регионе и языке в панель управления.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtLogOn
Запускает запланированное задание при входе указанных пользователей на компьютер. Чтобы указать пользователя, используйте параметр User .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtStartup
Запускает запланированное задание при запуске Windows.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Daily
Указывает регулярное ежедневное расписание задания. Используйте другие параметры в наборе параметров Daily , чтобы указать сведения о расписании.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysInterval
Указывает количество дней между выполнениями для ежедневного расписания. Например, значение запуска запланированного 3
задания в днях 1
4
7
и т. д. Значение по умолчанию — 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysOfWeek
Указывает дни недели, по которым выполняется запланированное задание. Введите имена дней, например Monday
или целые6
0
- числа, где 0
представляет воскресенье. Этот параметр требуется в еженедельном наборе параметров.
Названия дней преобразуются в их целочисленные значения в триггере задания. При закрытии имен дней в кавычки в команде заключите каждое имя дня в отдельные кавычки, например "Monday", "Tuesday"
. Если заключить несколько названий дней в одну пару одинарных кавычек, соответствующие целые значения суммируются. Например, "Monday, Tuesday"
(1 + 2
) приводит к значению Wednesday
(3
).
Type: | DayOfWeek[] |
Accepted values: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Once
Задает разовое (неповторяющееся) или пользовательское расписание. Чтобы создать повторяющееся расписание, используйте параметр "Один раз " с параметрами RepeatDuration и RepeatInterval .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RandomDelay
Включает случайную задержку, которая начинается в запланированное время начала, и задает максимальное значение этой задержки.
Длительность задержки задается для каждого запуска псевдослучайным образом и лежит в диапазоне от нуля до значения этого параметра. Значение по умолчанию, ноль (00:00:00
), отключает случайную задержку.
Введите объект timepan, например один, возвращаемый New-TimeSpan
командлетом, или введите значение в формате, которое автоматически преобразуется в <hours>:<minutes>:<seconds>
объект TimeSpan .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepeatIndefinitely
Этот параметр, доступный начиная с Windows PowerShell 4.0, устраняет необходимость указания значения TimeSpan.MaxValue для параметра RepetitionDuration для многократного выполнения запланированного задания в течение неопределенного периода.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionDuration
Повторяет задание до истечения заданного времени. Частота повторения определяется значением параметра RepetitionInterval . Например, если значение "Повторение" равно 5 минутам, а значение "Повторение " составляет 2 часа, задание запускается каждые пять минут в течение двух часов.
Введите объект timepan, например New-TimeSpan
возвращаемый командлетом или строку, которую можно преобразовать в объект timepan, например 1:05:30
.
Чтобы запустить задание на неопределенный срок, добавьте вместо него параметр RepeatIndefinitely .
Чтобы остановить задание до истечения срока действия повторения триггера задания, используйте Set-JobTrigger
командлет, чтобы задать для параметра "Повторение ", равное нулю (0
).
Этот параметр действителен, только если в команде используются параметры "Один раз", "At" и "Повторение ".
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionInterval
Повторяет задание с определенным интервалом. Например, если значение этого параметра равно 2 часам, задание активируется каждые два часа. Значение по умолчанию не 0
повторяет задание.
Введите объект timepan, например New-TimeSpan
возвращаемый командлетом или строку, которую можно преобразовать в объект timepan, например 1:05:30
.
Этот параметр действителен, только если в команде используются параметры "Один раз", "At" и "Повторение ".
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-User
Указывает пользователей, которые активируют начало запланированного задания AtLogon . Введите имя пользователя в <UserName>
формате или формате или <Domain\Username>
введите звездочку (*
) для представления всех пользователей. По умолчанию заданы все пользователи.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Weekly
Указывает регулярное еженедельное расписание задания. Используйте другие параметры в параметре Weekly , чтобы указать сведения о расписании.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WeeksInterval
Указывает количество недель между выполнениями для еженедельного расписания. Например, значение запуска запланированного 3
задания в неделях 1
4
7
и т. д. Значение по умолчанию — 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объект ScheduledJobTrigger , представляющий созданный триггер.
Примечания
Триггеры задания не сохраняются на диск. Однако запланированные задания сохраняются на диске и можно использовать
Get-JobTrigger
для получения триггера задания любого запланированного задания.New-JobTrigger
не препятствует созданию триггера задания, который не будет запускать запланированное задание, например однократный триггер для даты в прошлом.Командлет
Register-ScheduledJob
принимает объект ScheduledJobTrigger , например один, возвращаемыйNew-JobTrigger
командлетами илиGet-JobTrigger
хэш-таблицей со значениями триггеров.Чтобы отправить хэш-таблицу, используйте следующие ключи.
- Частота:
Once
, ,Weekly
Daily
,AtStartup
илиAtLogon
- В: любая допустимая строка времени, например
3am
- DaysOfWeek: любое сочетание имен дней в виде строк, таких как
"Monday", "Wednesday"
- Интервал: любой допустимый интервал частоты в виде целого числа
- RandomDelay: любая допустимая строка интервала времени, например
30minutes
- Пользователь: любой допустимый пользователь, например
Domain1\User01
; используется только со значением частоты AtLogon
- Частота:
Связанные ссылки
- 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