Set-ScheduledJob
Изменяет запланированные задания.
Синтаксис
Set-ScheduledJob
[-Name <String>]
[-ScriptBlock <ScriptBlock>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-Name <String>]
[-FilePath <String>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-InputObject] <ScheduledJobDefinition>
[-ClearExecutionHistory]
[-PassThru]
[<CommonParameters>]
Описание
Командлет Set-ScheduledJob
изменяет свойства запланированных заданий, например команды, которые выполняются задания или учетные данные, необходимые для выполнения задания. Его также можно использовать для очистки журнала выполнения запланированного задания.
Чтобы использовать этот командлет, начните с командлета Get-ScheduledJob
, чтобы получить запланированное задание. Затем передайте запланированное задание Set-ScheduledJob
или сохраните задание в переменной и используйте параметр InputObject для идентификации задания. Используйте оставшиеся параметры для Set-ScheduledJob
изменения свойств задания или очистки журнала выполнения.
Хотя вы можете изменить Set-ScheduledJob
триггеры и параметры запланированного задания, Add-JobTrigger
Set-JobTrigger
командлеты и Set-ScheduledJobOption
командлеты обеспечивают гораздо более простые способы выполнения этих задач. Чтобы создать запланированное задание, используйте Register-ScheduledJob
командлет.
Параметр триггераSet-ScheduledJob
добавляет один или несколько триггеров задания, запускающих задание.
Параметр триггера необязателен, поэтому можно добавлять триггеры при создании запланированного задания, добавлять триггеры задания позже, добавлять параметр RunNow для немедленного запуска задания, использовать Start-Job
командлет для запуска задания немедленно или сохранять незапланированное запланированное задание в качестве шаблона для других заданий.
Set-ScheduledJob
— одна из коллекций командлетов планирования заданий в модуле PSScheduledJob, включенном в Windows PowerShell.
Дополнительные сведения о запланированных заданиях см. в разделах описания в модуле PSScheduledJob. Импортируйте модуль PSScheduledJob, а затем введите Get-Help about_Scheduled*
или просмотрите about_Scheduled_Jobs.
Этот командлет впервые появился в Windows PowerShell 3.0.
Примеры
Пример 1. Изменение скрипта, выполняемого заданием
В этом примере показано, как изменить сценарий, который выполняется в запланированном задании.
Get-ScheduledJob -Name "Inventory"
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-Inventory.ps1 True
Get-ScheduledJob -Name "Inventory" | Set-ScheduledJob -FilePath "C:\Scripts\Get-FullInventory.ps1" -PassThru
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-FullInventory.ps1 True
Первая команда использует Get-ScheduledJob
командлет для получения запланированного задания инвентаризации. Выходные данные показывают, что задание выполняет сценарий Get-Inventory.ps1.
Вторая команда использует Get-ScheduledJob
командлет для получения запланированного задания инвентаризации. Оператор конвейера (|
) отправляет запланированное задание командлету Set-ScheduledJob
. Командлет Set-ScheduledJob
использует параметр script для указания нового скрипта Get-FullInventory.ps1
. Команда использует параметр PassThru для возврата запланированного задания после изменения.
Эта команда не является обязательной, она включена только для того, чтобы показать эффект изменения сценария.
Пример 2. Удаление журнала выполнения запланированного задания
В этом примере удаляется текущий журнал выполнения и сохраненные результаты задания для запланированного задания.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Команда использует Get-ScheduledJob
командлет для получения запланированного задания BackupArchive. Оператор конвейера (|
) отправляет задание командлету Set-ScheduledJob
, чтобы изменить его. Командлет Set-ScheduledJob
использует параметр ClearExecutionHistory для удаления журнала выполнения и сохраненных результатов.
Дополнительные сведения о журнале выполнения и сохраненных результатах задания запланированных заданий см. в about_Scheduled_Jobs.
Пример 3. Изменение запланированных заданий на удаленном компьютере
Эта команда изменяет скрипт инициализации во всех запланированных заданиях на удаленных компьютерах.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
Команда использует Invoke-Command
командлет для выполнения команды на компьютерах Server01 и Server02.
Удаленная команда начинается с Get-ScheduledJob
команды, которая получает все запланированные задания на компьютере. Запланированные задания передаются Set-ScheduledJob
командлету, который изменяет скрипт SetForRun.ps1
инициализации на .
Параметры
-ArgumentList
Задает значения параметров скрипта, указанного параметром FilePath или командой, указанной параметром ScriptBlock .
Тип: | Object[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Authentication
Задает механизм, используемый при проверке подлинности учетных данных пользователя. Допустимые значения для этого параметра:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Значение по умолчанию — Default
. Дополнительные сведения о значениях этого параметра см. в разделе "Перечисление AuthenticationMechanism" в пакете SDK Для PowerShell.
Внимание
Проверка подлинности поставщика поддержки безопасности учетных данных (CredSSP), при которой учетные данные пользователя передаются на удаленный компьютер, который будет проходить проверку подлинности, предназначен для команд, требующих проверки подлинности на нескольких ресурсах, таких как доступ к удаленному сетевому ресурсу. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, могут использоваться для управления сетевым сеансом.
Тип: | AuthenticationMechanism |
Допустимые значения: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ClearExecutionHistory
Удаляет текущий журнал выполнения и сохраненные результаты запланированного задания.
Журнал выполнения заданий и результаты задания сохраняются с запланированным заданием в $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
каталоге на компьютере, на котором создается задание. Чтобы просмотреть журнал выполнения, используйте Get-Job
командлет. Чтобы получить результаты задания, используйте Receive-Job
командлет.
Этот параметр не влияет на события, которые планировщик записывает в журналы событий Windows, и не запрещает Windows PowerShell сохранять результаты заданий. Чтобы управлять числом сохраненных результатов задания, используйте параметр MaxResultCount .
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись пользователя, обладающую разрешением для выполнения запланированного задания. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например из командлета Get-Credential
. Если ввести только имя пользователя, появится приглашение ввести пароль.
Тип: | PSCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-FilePath
Указывает сценарий, запускаемый запланированным заданием. Введите путь к PS1-файлу на локальном компьютере. Чтобы указать значения по умолчанию для параметров скрипта, используйте параметр ArgumentList . Каждое запланированное задание должно иметь значение ScriptBlock или FilePath .
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InitializationScript
Указывает полный путь к скрипту Windows PowerShell (.ps1
). Скрипт инициализации выполняется в сеансе, созданном для фонового задания перед командами , указанными параметром ScriptBlock или скриптом, заданным параметром FilePath . Сценарий инициализации можно использовать для настройки сеанса, например, для добавления файлов, функций или псевдонимов, создания каталогов или проверки наличия необходимых компонентов.
Чтобы указать скрипт, выполняющий команды основного задания, используйте параметр FilePath .
Если скрипт инициализации создает ошибку, включая неизключаемую ошибку, текущий экземпляр запланированного задания не запускается и его состояние завершается ошибкой.
Тип: | ScriptBlock |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Задает изменяемое запланированное задание. Введите переменную, содержащую объекты ScheduledJobDefinition или введите команду или выражение, которое получает объекты ScheduledJobDefinition , например Get-ScheduledJob
команду. Можно также передать Set-ScheduledJob
в .
Если указать несколько запланированных заданий, Set-ScheduledJob
внесите одинаковые изменения во все задания.
Тип: | ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-MaxResultCount
Указывает, сколько записей результатов задания хранится для запланированного задания. Значение по умолчанию: 32.
Windows PowerShell сохраняет журнал выполнения и результаты каждого активированного экземпляра запланированного задания на диске. Значение этого параметра определяет количество результатов экземпляра задания, сохраняемых для данного запланированного задания. Когда число результатов экземпляра задания превышает это значение, Windows PowerShell удаляет результаты самого старого экземпляра задания, чтобы освободить место для результатов более нового экземпляра задания.
Журнал выполнения задания и результаты задания сохраняются в
$HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
каталоги на компьютере, на котором создается задание. Чтобы просмотреть журнал выполнения, используйте Get-Job
командлет. Чтобы получить результаты задания, используйте Receive-Job
командлет.
Параметр MaxResultCount задает значение свойства ExecutionHistoryLength запланированного задания.
Чтобы удалить текущий журнал выполнения и результаты задания, используйте параметр ClearExecutionHistory .
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Name
Указывает новое имя для запланированного задания и его экземпляров. Это имя должно быть уникальным на локальном компьютере.
Чтобы определить запланированное задание для изменения, используйте параметр InputObject или переведите запланированное задание из Get-ScheduledJob
Set-ScheduledJob
.
Этот параметр не изменяет имена экземпляров задания на диске. Он затрагивает только те экземпляры задания, которые запускаются после выполнения этой команды.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PassThru
Возвращает объект, представляющий элемент, с которым вы работаете. По умолчанию этот командлет не создает выходные данные.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RunAs32
Запускает запланированное задание в 32-разрядном процессе.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RunEvery
Используется для указания частоты выполнения задания. Например, используйте этот параметр для выполнения задания каждые 15 минут.
Тип: | TimeSpan |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RunNow
Сразу же запускает задание после запуска командлета Set-ScheduledJob
. Этот параметр устраняет необходимость запуска планировщика заданий для выполнения сценария Windows PowerShell сразу после регистрации и не требует от пользователей создания триггера, который указывает начальную дату и время.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ScheduledJobOption
Задает параметры для запланированного задания.
Введите объект ScheduledJobOptions, например объект, создаваемый с помощью командлета New-ScheduledJobOption
или хэш-табличного значения.
Параметры запланированного задания можно задать при регистрации запланированного задания или использовать Set-ScheduledJobOption
Set-ScheduledJob
командлеты для задания или изменения параметров.
Многие параметры и их значения по умолчанию определяют, запускается ли запланированное задание и когда это происходит. Обязательно просмотрите эти параметры перед планированием задания. Описание параметров запланированного задания, включая значения по умолчанию, см. в разделе New-ScheduledJobOption
.
Чтобы отправить хэш-таблицу, используйте следующие ключи. Ключи в следующей хэш-таблице ключи приведены со значениями по умолчанию.
@{# Power SettingsStartIfOnBattery=$false;StopIfGoingOnBattery=$true; WakeToRun=$false; # Idle SettingsStartIfNotIdle=$false; IdleDuration="00:10:00"; IdleTimeout="01:00:00"; StopIfGoingOffIdle=$true; RestartOnIdleResume=$false;# Security settingsShowInTaskScheduler=$trueRunElevated=$false;# MiscRunWithoutNetwork=$false;DoNotAllowDemandStart=$false;MultipleInstancePolicy=IgnoreNew# Can be IgnoreNew, Parallel, Queue, StopExisting}
Тип: | ScheduledJobOptions |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ScriptBlock
Указывает команды, выполняемые запланированным заданием. Заключите команды в фигурные скобки ({}
) для создания блока скрипта. Чтобы указать значения по умолчанию для параметров команды, используйте параметр ArgumentList .
Каждая Register-ScheduledJob
команда должна использовать параметры ScriptBlock или FilePath .
Тип: | ScriptBlock |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Trigger
Задает триггеры для запланированного задания. Введите один или несколько объектов ScheduledJobTrigger , например объекты, возвращаемые New-JobTrigger
командлетом, или хэш-таблицу ключей и значений триггеров задания.
Триггер задания запускает запланированное задание автоматически в однократном или повторяющемся расписании или при возникновении события.
Триггеры задания не являются обязательными. Триггер можно добавить при создании запланированного задания, использовать Add-JobTrigger
или Set-ScheduledJob
командлеты для добавления триггеров позже или использовать Start-Job
командлет для немедленного запуска запланированного задания. Можно также создать и поддерживать запланированное задание, которое не имеет триггеров задания.
Чтобы отправить хэш-таблицу, используйте следующие ключи.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(или любая допустимая строка времени); DaysOfWeek="Monday", "Wednesday"
(или любое сочетание имен дней); Interval=2
(или любой допустимый интервал частоты); RandomDelay="30minutes"
(или любая допустимая строка интервала времени); User="Domain1\User01"
(или любой допустимый пользователь; используется только со значением частоты AtLogon)
}
Тип: | ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Вы можете передать запланированное задание в этот командлет.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
При использовании параметра PassThru этот командлет возвращает запланированное задание, которое оно изменило.
Связанные ссылки
- 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