Поделиться через


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 задания в днях 147 и т. д. Значение по умолчанию — 1.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DaysOfWeek

Указывает дни недели, по которым выполняется запланированное задание. Введите имена дней, например Monday или целые60- числа, где 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 задания в неделях 147 и т. д. Значение по умолчанию — 1.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

None

Невозможно передать объекты в этот командлет.

Выходные данные

ScheduledJobTrigger

Этот командлет возвращает объект ScheduledJobTrigger , представляющий созданный триггер.

Примечания

  • Триггеры задания не сохраняются на диск. Однако запланированные задания сохраняются на диске и можно использовать Get-JobTrigger для получения триггера задания любого запланированного задания.

  • New-JobTrigger не препятствует созданию триггера задания, который не будет запускать запланированное задание, например однократный триггер для даты в прошлом.

  • Командлет Register-ScheduledJob принимает объект ScheduledJobTrigger , например один, возвращаемый New-JobTrigger командлетами или Get-JobTrigger хэш-таблицей со значениями триггеров.

    Чтобы отправить хэш-таблицу, используйте следующие ключи.

    • Частота: Once, , WeeklyDaily, AtStartupилиAtLogon
    • В: любая допустимая строка времени, например 3am
    • DaysOfWeek: любое сочетание имен дней в виде строк, таких как "Monday", "Wednesday"
    • Интервал: любой допустимый интервал частоты в виде целого числа
    • RandomDelay: любая допустимая строка интервала времени, например 30minutes
    • Пользователь: любой допустимый пользователь, например Domain1\User01; используется только со значением частоты AtLogon