Set-ScheduledJob
Změní naplánované úlohy.
Syntaxe
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>]
Description
Rutina Set-ScheduledJob
změní vlastnosti naplánovaných úloh, jako jsou příkazy, které úlohy spouštějí, nebo přihlašovací údaje potřebné ke spuštění úlohy. Můžete ho také použít k vymazání historie provádění naplánované úlohy.
Pokud chcete tuto rutinu Get-ScheduledJob
použít, začněte pomocí této rutiny získat naplánovanou úlohu. Potom přeskakujte naplánovanou úlohu do Set-ScheduledJob
proměnné nebo ji uložte do proměnné a pomocí parametru InputObject identifikujte úlohu. Pomocí zbývajících parametrů Set-ScheduledJob
můžete změnit vlastnosti úlohy nebo vymazat historii provádění.
I když můžete použít Set-ScheduledJob
ke změně aktivačních událostí a možností naplánované úlohy, Add-JobTrigger
Set-JobTrigger
nabízejí rutiny a Set-ScheduledJobOption
, mnohem jednodušší způsoby, jak tyto úlohy provést. K vytvoření nové naplánované úlohy použijte rutinu Register-ScheduledJob
.
Parametr Trigger pro přidání jedné nebo více aktivačních Set-ScheduledJob
událostí úlohy, které spustí úlohu.
Parametr Trigger je volitelný, takže můžete přidat triggery při vytváření naplánované úlohy, přidat triggery úloh později, přidat parametr RunNow , který spustí úlohu okamžitě, použít Start-Job
rutinu k okamžitému spuštění úlohy nebo uložit neplánovanou naplánovanou úlohu jako šablonu pro jiné úlohy.
Set-ScheduledJob
je jednou z kolekcí rutin plánování úloh v modulu PSScheduledJob, který je součástí Windows PowerShellu.
Další informace o naplánovaných úlohách naleznete v tématu o tématech v modulu PSScheduledJob. Naimportujte modul PSScheduledJob a zadejte: Get-Help about_Scheduled*
nebo se podívejte na about_Scheduled_Jobs.
Tato rutina byla zavedena ve Windows PowerShellu 3.0.
Příklady
Příklad 1: Změna skriptu, který úloha spouští
Tento příklad ukazuje, jak změnit skript, který se spouští v naplánované úloze.
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
První příkaz pomocí rutiny Get-ScheduledJob
získá naplánovanou úlohu Inventory. Výstup ukazuje, že úloha spouští skript Get-Inventory.ps1.
Druhý příkaz pomocí rutiny Get-ScheduledJob
získá naplánovanou úlohu Inventory. Operátor kanálu (|
) odešle naplánovanou úlohu do rutiny Set-ScheduledJob
. Rutina Set-ScheduledJob
používá parametr Script k zadání nového skriptu, Get-FullInventory.ps1
. Příkaz použije parametr PassThru k vrácení naplánované úlohy po změně.
Tento příkaz není povinný. obsahuje pouze zobrazení efektu změny skriptu.
Příklad 2: Odstranění historie provádění naplánované úlohy
Tento příklad odstraní aktuální historii spuštění a uložené výsledky úlohy pro naplánovanou úlohu.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Příkaz pomocí rutiny Get-ScheduledJob
získá naplánovanou úlohu BackupArchive. Operátor kanálu (|
) odešle úlohu do rutiny Set-ScheduledJob
, aby ji změnil. Rutina Set-ScheduledJob
používá k odstranění historie spuštění a uložených výsledků parametr ClearExecutionHistory .
Další informace o historii spuštění a uložených výsledcích úloh naplánovaných úloh najdete v tématu about_Scheduled_Jobs.
Příklad 3: Změna naplánovaných úloh ve vzdáleném počítači
Tento příkaz změní inicializační skript ve všech naplánovaných úlohách na vzdálených počítačích.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
Tento příkaz používá rutinu Invoke-Command
ke spuštění příkazu na počítačích Se serverem 01 a Server02.
Vzdálený příkaz začíná příkazem Get-ScheduledJob
, který získá všechny naplánované úlohy v počítači. Naplánované úlohy se předávají do Set-ScheduledJob
rutiny, která změní inicializační skript na SetForRun.ps1
.
Parametry
-ArgumentList
Určuje hodnoty pro parametry skriptu určené parametrem FilePath nebo pro příkaz určený parametrem ScriptBlock .
Typ: | Object[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Authentication
Určuje mechanismus, který se používá k ověření přihlašovacích údajů uživatele. Tento parametr přijímá tyto hodnoty:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Výchozí hodnota je Default
. Další informace o hodnotách tohoto parametru najdete v tématu AuthenticationMechanism – výčet v sadě PowerShell SDK.
Upozornění
Ověřování zprostředkovatele podpory zabezpečení přihlašovacích údajů (CredSSP), ve kterém jsou přihlašovací údaje uživatele předány vzdálenému počítači, který se má ověřit, je určený pro příkazy, které vyžadují ověření u více než jednoho prostředku, například pro přístup ke vzdálené síťové sdílené složce. Tento mechanismus zvyšuje riziko zabezpečení vzdálené operace. Pokud dojde k ohrožení zabezpečení vzdáleného počítače, dají se k řízení síťové relace použít přihlašovací údaje, které jsou mu předány.
Typ: | AuthenticationMechanism |
Přípustné hodnoty: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ClearExecutionHistory
Odstraní aktuální historii spuštění a uložené výsledky naplánované úlohy.
Historie spuštění úlohy a výsledky úlohy se ukládají s naplánovanou úlohou v $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
adresáři v počítači, na kterém je úloha vytvořena. Pokud chcete zobrazit historii provádění, použijte rutinu Get-Job
. K získání výsledků úlohy použijte rutinu Receive-Job
.
Tento parametr nemá vliv na události, které Plánovač úloh zapisuje do protokolů událostí systému Windows a nezastaví windows PowerShell v ukládání výsledků úloh. Ke správě počtu uložených výsledků úlohy použijte parametr MaxResultCount .
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Credential
Určuje uživatelský účet, který má oprávnění ke spuštění naplánované úlohy. Ve výchozím nastavení je to aktuální uživatel.
Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential , například objekt z rutiny Get-Credential
. Pokud zadáte jenom uživatelské jméno, zobrazí se výzva k zadání hesla.
Typ: | PSCredential |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-FilePath
Určuje skript, který bude naplánovaná úloha spouštět. Zadejte cestu k souboru .ps1 v místním počítači. Chcete-li zadat výchozí hodnoty parametrů skriptu, použijte parametr ArgumentList . Každá naplánovaná úloha musí mít hodnotu ScriptBlock nebo FilePath .
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-InitializationScript
Určuje plně kvalifikovanou cestu ke skriptu Prostředí Windows PowerShell (.ps1
). Inicializační skript se spustí v relaci, která je vytvořena pro úlohu na pozadí před příkazy určené parametrem ScriptBlock nebo skriptem určeným parametrem FilePath . Inicializační skript můžete použít ke konfiguraci relace, jako je přidání souborů, funkcí nebo aliasů, vytváření adresářů nebo kontrola požadavků.
Chcete-li zadat skript, který spouští příkazy primární úlohy, použijte parametr FilePath .
Pokud inicializační skript vygeneruje chybu, včetně neukončující chyby, aktuální instance naplánované úlohy se nespustí a její stav se nezdařil.
Typ: | ScriptBlock |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-InputObject
Určuje naplánovanou úlohu, kterou chcete změnit. Zadejte proměnnou obsahující objekty ScheduledJobDefinition nebo zadejte příkaz nebo výraz, který získá ScheduledJobDefinition objekty, například Get-ScheduledJob
příkaz. Objekt ScheduledJobDefinition lze také nasoučovat do Set-ScheduledJob
objektu .
Pokud zadáte více naplánovaných úloh, Set-ScheduledJob
provede stejné změny u všech úloh.
Typ: | ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-MaxResultCount
Určuje, kolik položek výsledků úlohy se udržuje pro naplánovanou úlohu. Výchozí hodnota je 32.
Windows PowerShell ukládá historii spouštění a výsledky každé aktivované instance naplánované úlohy na disku. Hodnota tohoto parametru určuje počet výsledků instance úlohy, které jsou uloženy pro tuto naplánovanou úlohu. Pokud počet výsledků instance úlohy překročí tuto hodnotu, Windows PowerShell odstraní výsledky nejstarší instance úlohy, aby se uvolnily místo pro výsledky nejnovější instance úlohy.
Historie provádění úlohy a výsledky úloh se ukládají do $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
adresáře v počítači, na kterém je úloha vytvořena. Pokud chcete zobrazit historii provádění, použijte rutinu Get-Job
. K získání výsledků úlohy použijte rutinu Receive-Job
.
Parametr MaxResultCount nastaví hodnotu ExecutionHistoryLength vlastnosti naplánované úlohy.
Pokud chcete odstranit aktuální historii spuštění a výsledky úlohy, použijte parametr ClearExecutionHistory .
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Name
Určuje nový název naplánované úlohy a instancí naplánované úlohy. Název musí být v místním počítači jedinečný.
Chcete-li identifikovat naplánovanou úlohu, kterou chcete změnit, použijte parametr InputObject nebo přeskakujte naplánovanou úlohu z Get-ScheduledJob
do Set-ScheduledJob
.
Tento parametr nemění názvy instancí úloh na disku. Ovlivňuje pouze instance úloh, které se spustí po dokončení tohoto příkazu.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-PassThru
Vrátí objekt představující položku, se kterou pracujete. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RunAs32
Spustí naplánovanou úlohu v 32bitovém procesu.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RunEvery
Slouží k určení, jak často se má úloha spouštět. Tuto možnost můžete například použít ke spuštění úlohy každých 15 minut.
Typ: | TimeSpan |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RunNow
Spustí úlohu okamžitě, jakmile se rutina Set-ScheduledJob
spustí. Tento parametr eliminuje nutnost aktivovat Plánovač úloh pro spuštění skriptu Prostředí Windows PowerShell ihned po registraci a nevyžaduje, aby uživatelé vytvořili trigger, který určuje počáteční datum a čas.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ScheduledJobOption
Nastaví možnosti pro naplánovanou úlohu. Zadejte objekt ScheduledJobOptions, například objekt, který vytvoříte pomocí rutinyNew-ScheduledJobOption
, nebo hodnotu hash tabulky.
Možnosti pro naplánovanou úlohu můžete nastavit při registraci plánované úlohy nebo nastavení nebo změně možností pomocí Set-ScheduledJobOption
rutin nebo Set-ScheduledJob
rutin.
Mnoho možností a jejich výchozích hodnot určuje, jestli a kdy je naplánovaná úloha spuštěná. Před plánováním úlohy nezapomeňte tyto možnosti zkontrolovat. Popis možností naplánované úlohy, včetně výchozích hodnot, najdete v tématu New-ScheduledJobOption
.
K odeslání hashovací tabulky použijte následující klíče. V následující tabulce hash se klíče zobrazují s výchozími hodnotami.
@{# 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}
Typ: | ScheduledJobOptions |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ScriptBlock
Určuje příkazy, které se naplánovaná úloha spustí. Uzavřete příkazy do složených závorek ({}
) a vytvořte blok skriptu. Chcete-li zadat výchozí hodnoty parametrů příkazu, použijte parametr ArgumentList .
Každý Register-ScheduledJob
příkaz musí používat parametry ScriptBlock nebo FilePath .
Typ: | ScriptBlock |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Trigger
Určuje aktivační události pro naplánovanou úlohu. Zadejte jeden nebo více objektů ScheduledJobTrigger , například objekty, které rutina New-JobTrigger
vrátí, nebo tabulku hash klíčů a hodnot triggerů úlohy.
Trigger úlohy spustí naplánovanou úlohu automaticky u jednorázového nebo opakovaného naplánovaného nebo když dojde k události.
Triggery úloh jsou volitelné. Trigger můžete přidat při vytváření naplánované úlohy, pomocí Add-JobTrigger
rutin nebo Set-ScheduledJob
rutin přidat triggery později nebo pomocí Start-Job
rutiny okamžitě spustit naplánovanou úlohu. Můžete také vytvořit a udržovat naplánovanou úlohu, která nemá žádné aktivační události úlohy.
K odeslání hashovací tabulky použijte následující klíče.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(nebo jakýkoli platný časový řetězec); DaysOfWeek="Monday", "Wednesday"
(nebo jakákoli kombinace názvů dnů); Interval=2
(nebo jakýkoli platný interval četnosti); RandomDelay="30minutes"
(nebo jakýkoli platný řetězec časového rozsahu); User="Domain1\User01"
(nebo jakýkoli platný uživatel; použit pouze s hodnotou frekvence AtLogon)
}
Typ: | ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Do této rutiny můžete převést naplánovanou úlohu.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Pokud použijete parametr PassThru , vrátí tato rutina naplánovanou úlohu, kterou změnila.
Související odkazy
- 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