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ě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 použít tuto rutinu, začněte tím, že pomocí rutiny Get-ScheduledJob
získáte naplánovanou úlohu. Pak předejte 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
změňte vlastnosti úlohy nebo vymažte 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
rutiny , 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 přidá Set-ScheduledJob
jednu nebo více triggerů úlohy, které úlohu spustí.
Parametr Trigger je nepovinný, takže můžete přidat triggery při vytváření naplánované úlohy, později přidat triggery úloh, přidat parametr RunNow , aby se úloha spustila okamžitě, kdykoli pomocí Start-Job
rutiny spustit úlohu okamžitě nebo uložit naplánovanou úlohu bez plánu 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 na about_Scheduled_Jobs.
Tato rutina byla zavedena v Windows PowerShell 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 použije rutinu Get-ScheduledJob
k získání naplánované úlohy inventáře. Výstup ukazuje, že úloha spustí skript Get-Inventory.ps1.
Druhý příkaz použije rutinu Get-ScheduledJob
k získání naplánované úlohy inventáře. Operátor kanálu (|
) odešle naplánovanou úlohu do rutiny Set-ScheduledJob
. Rutina Set-ScheduledJob
používá parametr Script k určení 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ý. je součástí pouze k zobrazení účinku změny skriptu.
Příklad 2: Odstranění historie provádění naplánované úlohy
Tento příklad odstraní aktuální historii provádění a uložené výsledky úloh pro naplánovanou úlohu.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Příkaz použije rutinu Get-ScheduledJob
k získání naplánované úlohy BackupArchive. Operátor kanálu (|
) odešle úlohu rutině, Set-ScheduledJob
aby ji změnil. Rutina Set-ScheduledJob
pomocí parametru ClearExecutionHistory odstraní historii spuštění a uložené výsledky.
Další informace o historii spouš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 ve vzdálených počítačích.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
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 pro parametry skriptu, který je určen parametrem FilePath nebo pro příkaz určený parametr ScriptBlock .
Type: | Object[] |
Position: | Named |
Default value: | None |
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 Default
. Další informace o hodnotách tohoto parametru najdete v tématu AuthenticationMechanism – výčet v sadě PowerShell SDK.
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, aby se ověřily, je určené pro příkazy, které vyžadují ověření u více než jednoho prostředku, jako je například přístup ke vzdá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, lze k řízení síťové relace použít 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: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClearExecutionHistory
Odstraní aktuální historii provádění a uložené výsledky naplánované úlohy.
Historie spuštění úlohy a výsledky úlohy jsou uloženy spolu s naplánovanou úlohou $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
v adresáři na počítači, na kterém je úloha vytvořena. Pokud chcete zobrazit historii provádění, použijte rutinu Get-Job
. Pokud chcete získat výsledky ú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 ukládání výsledků úloh. Pokud chcete spravovat počet uložených výsledků úloh, použijte parametr MaxResultCount .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
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 objekt 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: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Určuje skript, který se spustí v naplánované úloze. 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 |
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 . Pomocí inicializačního skriptu můžete nakonfigurovat relaci, 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 Selhání.
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Určuje naplánovanou úlohu, která se má změnit. Zadejte proměnnou obsahující objekty ScheduledJobDefinition nebo zadejte příkaz nebo výraz, který získá objekty ScheduledJobDefinition , například Get-ScheduledJob
příkaz. Můžete také připojit objekt ScheduledJobDefinition k objektu Set-ScheduledJob
.
Pokud zadáte více naplánovaných úloh, Set-ScheduledJob
provede stejné změny u všech úloh.
Type: | Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
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 uloží 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 uvolnil místo pro výsledky nejnovější instance úlohy.
Historie provádění úloh a výsledky úloh se ukládají do$HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
adresářů v počítači, na kterém je úloha vytvořena. Pokud chcete zobrazit historii provádění, použijte rutinu Get-Job
. Pokud chcete získat výsledky ú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 úloh, použijte parametr ClearExecutionHistory .
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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ý.
Pokud chcete identifikovat naplánovanou úlohu, která má být změněna, použijte parametr InputObject nebo předávkujte naplánovanou úlohu z Get-ScheduledJob
do Set-ScheduledJob
.
Tento parametr nemění názvy instancí úloh na disku. Týká se pouze instancí úloh, které se spustí po dokončení tohoto příkazu.
Type: | String |
Position: | Named |
Default value: | None |
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: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAs32
Spustí naplánovanou úlohu v 32bitovém procesu.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunEvery
Slouží k určení, jak často se má úloha spouštět. Pomocí této možnosti můžete například každých 15 minut spouštět úlohu.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunNow
Spustí úlohu okamžitě, jakmile se rutina Set-ScheduledJob
spustí. Tento parametr eliminuje potřebu aktivovat Plánovač úloh, aby hned 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 |
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 tabulky hash.
Možnosti pro naplánovanou úlohu můžete nastavit při registraci naplánované úlohy nebo pomocí Set-ScheduledJobOption
rutin nebo Set-ScheduledJob
nastavit nebo změnit možnosti.
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í hashovací tabulky použijte následující klíče. V následující tabulce hash se klíče zobrazují 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: | Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptBlock
Určuje příkazy, které naplánovaná úloha spustí. Uzavřete příkazy do závorek ({}
) a vytvořte blok skriptu. Chcete-li zadat výchozí hodnoty pro parametry příkazu, použijte parametr ArgumentList .
Každý Register-ScheduledJob
příkaz musí používat buď parametry ScriptBlock , nebo FilePath .
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Trigger
Určuje triggery pro naplánovanou úlohu. Zadejte jeden nebo více objektů ScheduledJobTrigger , například objekty, které rutina New-JobTrigger
vrací, nebo tabulku hash klíčů a hodnot triggerů úloh.
Trigger úlohy spustí naplánovanou úlohu automaticky při jednorázovém nebo opakovaném naplánovaném plánu nebo při výskytu 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
přidat triggery později nebo pomocí Start-Job
rutiny k okamžitému spuštění naplánované úlohy. Můžete také vytvořit a udržovat naplánovanou úlohu, která nemá žádné triggery úloh.
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 jakoukoli 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 AtLogon)
}
Type: | Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Do této rutiny můžete připojit naplánovanou úlohu.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Když 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
Váš názor
Odeslat a zobrazit názory pro