Set-ScheduledJob
Změní naplánované úlohy.
Syntax
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, například příkazy, které úlohy spouští, 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 použít tuto rutinu, začněte použitím rutiny Get-ScheduledJob a získejte naplánovanou úlohu. Pak předejte naplánovanou úlohu do rutiny Set-ScheduledJob nebo ji uložte do proměnné a pomocí parametru InputObject identifikujte úlohu. Pomocí zbývajících parametrů úlohy Set-ScheduledJob můžete změnit vlastnosti úlohy nebo vymazat historii provádění.
I když můžete použít rutinu Set-ScheduledJob ke změně triggerů a možností naplánované úlohy, rutiny Add-JobTrigger, Set-JobTrigger a Set-ScheduledJobOption poskytují mnohem jednodušší způsoby, jak tyto úlohy provést. Pokud chcete vytvořit novou naplánovanou úlohu, použijte rutinu Register-ScheduledJob.
Parametr Trigger funkce Set-ScheduledJob přidá jednu nebo více triggerů úloh, které úlohu spustí. Parametr Trigger je volitelný, takže můžete přidat triggery při vytváření naplánované úlohy, přidat triggery úlohy později, přidat parametr RunNow pro okamžité spuštění úlohy, použít rutinu Start-Job k okamžitému spuštění úlohy nebo uložit naplánovanou úlohu bez plánování jako šablonu pro jiné úlohy.
Set-ScheduledJob je jednou z kolekcí rutin plánování úloh v modulu PSScheduledJob, který je součástí Windows PowerShell.
Další informace o naplánovaných úlohách najdete v tématech O produktu v modulu PSScheduledJob.
Importujte modul PSScheduledJob a zadejte: Get-Help about_Scheduled*
nebo se podívejte about_Scheduled_Jobs.
Tato rutina byla zavedena v Windows PowerShell 3.0.
Příklady
Příklad 1: Změna skriptu, který úloha spouští
PS C:\> Get-ScheduledJob -Name "Inventory"
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-Inventory.ps1 True
The second command uses the Get-ScheduledJob cmdlet to get the Inventory scheduled job. A pipeline operator (|) sends the scheduled job to the **Set-ScheduledJob** cmdlet. The **Set-ScheduledJob** cmdlet uses the *Script* parameter to specify a new script, Get-FullInventory.ps1. The command uses the *Passthru* parameter to return the scheduled job after the change.
PS C:\> 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
Tento příklad ukazuje, jak změnit skript, který se spouští v naplánované úloze.
První příkaz použije rutinu Get-ScheduledJob k získání naplánované úlohy Inventory. Výstup ukazuje, že úloha spustí skript Get-Inventory.ps1.
Tento příkaz není vyžadován. je součástí pouze k zobrazení efektu změny skriptu.
Příklad 2: Odstranění historie provádění naplánované úlohy
PS C:\> Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Tento příkaz odstraní aktuální historii provádění a uložené výsledky úlohy pro naplánovanou úlohu BackupArchive.
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á parametr ClearExecutionHistory k odstranění historie provádění a uložených výsledků.
Další informace o historii provádění a uložených výsledcích 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
PS C:\> Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob | Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
Tento příkaz změní inicializační skript ve všech naplánovaných úlohách na počítačích Server01 a Server02.
Příkaz používá rutinu Invoke-Command ke spuštění příkazu na počítačích Server01 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 rutiny Set-ScheduledJob , která změní inicializační skript na SetForRun.ps1.
Parametry
-ArgumentList
Určuje hodnoty parametrů skriptu určených parametrem FilePath nebo příkazem určeným parametrem ScriptBlock .
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Výchozí. Další informace o hodnotách tohoto parametru naleznete v tématu AuthenticationMechanism – výčet v knihovně MSDN.
Upozornění: Ověřování CredSSP (Credential Security Support Provider), při kterém se přihlašovací údaje uživatele předávají vzdálenému počítači k ověření, je určeno pro příkazy, které vyžadují ověření u více prostředků, jako je například přístup ke vzdálené sdílené síťové složce. Tento mechanismus zvyšuje bezpečnostní riziko vzdálené operace. Pokud dojde k ohrožení zabezpečení vzdáleného počítače, mohou být k řízení síťové relace použity přihlašovací údaje, které jsou mu předány.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClearExecutionHistory
Odstraní aktuální historii spuštění a uložené výsledky naplánované úlohy.
Historie provádění úlohy a výsledky úlohy se ukládají spolu s naplánovanou úlohou v adresáři $home\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs v počítači, ve 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 nezabrání Windows PowerShell v ukládání výsledků úlohy. Pokud chcete spravovat počet uložených výsledků úlohy, použijte parametr MaxResultCount .
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 z rutiny Get-Credential. Pokud zadáte jenom uživatelské jméno, zobrazí se výzva k zadání hesla.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Určuje skript, který spustí naplánovaná úloha. 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 .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InitializationScript
Určuje plně kvalifikovanou cestu ke skriptu 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ů.
Pokud chcete 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 je Neúspěšné.
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Určuje naplánovanou úlohu, která se má změnit. Zadejte proměnnou, která obsahuje objekty ScheduledJobDefinition , nebo zadejte příkaz nebo výraz, který získá objekty ScheduledJobDefinition , například Get-ScheduledJob příkaz. Můžete také předvést ScheduledJobDefinition objekt Set-ScheduledJob.
Pokud zadáte více naplánovaných úloh, provede funkce Set-ScheduledJob stejné změny u všech úloh.
Type: | ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxResultCount
Určuje, kolik položek výsledků úlohy se pro naplánovanou úlohu zachová. Výchozí hodnota je 32.
Windows PowerShell ukládá historii spuštění a výsledky každé aktivované instance naplánované úlohy na disk. 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 uvolnila místo pro výsledky nejnovější instance úlohy.
Historie spuštění úlohy a výsledky úlohy se ukládají do adresářů $home\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp> 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 vlastnosti ExecutionHistoryLength naplánované úlohy.
Pokud chcete odstranit aktuální historii spuštění a výsledky úlohy, použijte parametr ClearExecutionHistory .
Type: | Int32 |
Position: | Named |
Default value: | 32 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Určuje nový název naplánované úlohy a instance naplánované úlohy. Název musí být v místním počítači jedinečný.
Pokud chcete identifikovat naplánovanou úlohu, která se má změnit, použijte parametr InputObject nebo předáte naplánovanou úlohu z Get-ScheduledJob do rutiny Set-ScheduledJob.
Tento parametr nemění názvy instancí úloh na disku. Ovlivňuje pouze instance úloh, které jsou spuštěny po dokončení tohoto příkazu.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Vrátí objekt představující položku, se kterou pracujete. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAs32
Spustí naplánovanou úlohu ve 32bitovém procesu.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunEvery
Slouží k určení, jak často se má úloha spouštět. Tuto možnost použijte například ke spouštění úlohy každých 15 minut.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunNow
Spustí úlohu okamžitě, jakmile se spustí rutina Set-ScheduledJob . Tento parametr eliminuje nutnost aktivovat Plánovač úloh, aby okamžitě po registraci spustil skript Windows PowerShell, a nevyžaduje, aby uživatelé vytvořili aktivační událost, která určuje počáteční datum a čas.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScheduledJobOption
Nastaví možnosti pro naplánovanou úlohu. Zadejte objekt ScheduledJobOptions , například objekt, který vytvoříte pomocí rutiny New-ScheduledJobOption, nebo hodnotu zatřiďovací tabulky.
Možnosti pro naplánovanou úlohu můžete nastavit při registraci naplánované úlohy nebo můžete k nastavení nebo změně možností použít rutiny Set-ScheduledJobOption nebo Set-ScheduledJob .
Mnoho možností a jejich výchozích hodnot určuje, jestli a kdy se naplánovaná úloha spustí. Před plánováním úlohy si nezapomeňte tyto možnosti projít. Popis možností naplánované úlohy, včetně výchozích hodnot, najdete v tématu New-ScheduledJobOption.
K odeslání zatřiďovací tabulky použijte následující klíče. V následující tabulce hodnot hash jsou klíče zobrazeny s jejich 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}
Type: | ScheduledJobOptions |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptBlock
Určuje příkazy, které spustí naplánovaná úloha. Uzavřením příkazů do složených závorek ( { } ) vytvořte blok skriptu. Chcete-li zadat výchozí hodnoty parametrů příkazu, použijte parametr ArgumentList .
Každý příkaz Register-ScheduledJob musí používat parametry ScriptBlock nebo FilePath .
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Trigger
Určuje aktivační události pro naplánovanou úlohu. Zadejte jeden nebo více objektů ScheduledJobTrigger , například objekty, které vrátí rutina New-JobTrigger, nebo tabulku hash klíčů a hodnot aktivačních událostí úlohy.
Trigger úlohy automaticky spustí naplánovanou úlohu jednorázově nebo opakovaně nebo při výskytu události.
Triggery úloh jsou volitelné. Trigger můžete přidat při vytváření naplánované úlohy, pomocí rutin Add-JobTrigger nebo Set-ScheduledJob přidat triggery později nebo pomocí rutiny Start-Job spustit naplánovanou úlohu okamžitě. Můžete také vytvořit a udržovat naplánovanou úlohu, která nemá žádné triggery úloh.
K odeslání zatřiďovací tabulky použijte následující klíče.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(nebo jakýkoli platný řetězec času); DaysOfWeek="Monday", "Wednesday"
(nebo libovolnou kombinaci 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 libovolného platného uživatele; používá se pouze s hodnotou Frekvence přihlášení)
}
Type: | ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
Naplánované úlohy můžete převést na Set-ScheduledJob.
Výstupy
None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Pokud použijete parametr Passthru , vrátí funkce Set-ScheduledJob změněnou naplánovanou úlohu. Jinak tato rutina negeneruje žádný výstup.
Související odkazy
- about_Scheduled_Jobs
- 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