Set-JobTrigger
Změní aktivační událost úlohy naplánované úlohy.
Syntaxe
Set-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-DaysInterval <Int32>]
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
[-At <DateTime>]
[-User <String>]
[-DaysOfWeek <DayOfWeek[]>]
[-AtStartup]
[-AtLogOn]
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[-Daily]
[-Weekly]
[-PassThru]
[<CommonParameters>]
Description
Rutina Set-JobTrigger změní vlastnosti aktivačních událostí úlohy naplánovaných úloh. Můžete ho použít ke změně času nebo četnosti, kdy se úlohy spouštějí nebo mění z časových plánů na plány aktivované přihlášením nebo spuštěním.
Trigger úlohy definuje opakovaný plán nebo podmínky pro spuštění naplánované úlohy. I když se triggery úloh neukládají na disk, můžete změnit aktivační události úloh naplánovaných úloh, které se ukládají na disk.
Pokud chcete změnit aktivační událost úlohy naplánované úlohy, začněte pomocí rutiny Get-JobTrigger k získání triggeru úlohy naplánované úlohy. Pak předejte trigger tak, aby Set-JobTrigger nebo uložil trigger do proměnné a pomocí parametru InputObject rutiny Set-JobTrigger identifikujte aktivační událost. Ke změně triggeru úlohy použijte zbývající parametry Set-JobTrigger.
Když změníte typ triggeru úlohy, například změnu triggeru úlohy z denního nebo týdenního triggeru na trigger atLogon trigger, původní vlastnosti triggeru se odstraní. Pokud však změníte hodnoty triggeru, ale ne jeho typ, například změnu dnů v týdenním triggeru, změní se pouze vlastnosti, které zadáte. Všechny ostatní vlastnosti původní aktivační události úlohy se zachovají.
Set-JobTrigger je jednou z kolekcí rutin plánování úloh v modulu PSScheduledJob, který je součástí Prostředí Windows PowerShell.
Další informace o naplánovaných úlohách naleznete v tématu o tématech v modulu PSScheduledJob.
Importujte modul PSScheduledJob a zadejte: Get-Help about_Scheduled*
nebo viz about_Scheduled_Jobs.
Tato rutina byla zavedena ve Windows PowerShellu 3.0.
Příklady
Příklad 1: Změna dnů v triggeru úlohy
PS C:\> Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
The second command uses the Get-JobTrigger cmdlet to get the job trigger of the DeployPackage scheduled job. A pipeline operator (|) sends the trigger to the **Set-JobTrigger** cmdlet, which changes the job trigger so that it starts the DeployPackage job on Wednesdays and Sundays. The command uses the *Passthru* parameter to return the trigger after the change.
PS C:\> Get-JobTrigger -Name "DeployPackage" | Set-JobTrigger -DaysOfWeek "Wednesday", "Sunday" -Passthru
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Sunday} True
Tento příklad ukazuje, jak změnit dny v týdenním triggeru úlohy.
První příkaz používá rutinu Get-JobTrigger k získání triggeru úlohy naplánované úlohy DeployPackage. Výstup ukazuje, že trigger spustí úlohu o půlnoci ve středu a sobotách.
Tento příkaz není povinný. je součástí pouze k zobrazení účinku změny triggeru.
Příklad 2: Změna typu triggeru úlohy
PS C:\> Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
The second command uses the **Get-JobTrigger** cmdlet to get the *AtStartup* job trigger of the Inventory job. The command uses the *TriggerID* parameter to identify the job trigger. A pipeline operator (|) sends the job trigger to the **Set-JobTrigger** cmdlet, which changes it to a weekly job trigger that runs every four weeks on Monday at midnight. The command uses the *Passthru* parameter to return the trigger after the change.
PS C:\> Get-JobTrigger -Name "Inventory" -TriggerID 2 | Set-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At "12:00 AM"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 Weekly 10/31/2011 12:00:00 AM {Monday} True
Tento příklad ukazuje, jak změnit typ triggeru úlohy, který spouští úlohu. Příkazy v tomto příkladu nahradí trigger úlohy AtStartup týdenním triggerem.
První příkaz používá rutinu Get-JobTrigger k získání triggeru úlohy naplánované úlohy Inventory. Výstup ukazuje, že úloha má dva triggery denně a AtStartup trigger.
Tento příkaz není povinný. je součástí pouze k zobrazení účinku změny triggeru.
Příklad 3: Změna uživatele na triggeru vzdálené úlohy
PS C:\> Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Tento příkaz změní uživatele ve všech AtLogon úlohy triggery naplánovaných úloh na počítači Server01.
Příkaz používá rutinu Invoke-Command ke spuštění příkazu na počítači se serverem Server01.
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 Get-JobTrigger, která získá aktivační události úlohy naplánovaných úloh. Každá aktivační událost úlohy obsahuje vlastnost JobDefinition, která obsahuje naplánovanou úlohu, takže aktivační událost zůstane přidružená k naplánované úloze, i když se změní.
Triggery úloh se předávají do rutiny Where-Object, která získá aktivační události úlohy, které mají vlastnost User. Vybrané triggery úloh se předávají do rutiny Set-JobTrigger, která změní uživatele na Domain01\Admin02.
Příklad 4: Změna jedné z mnoha aktivačních událostí úlohy
PS C:\> Get-JobTrigger -Name "SecurityCheck"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 4/24/2013 3:00:00 AM True
2 Weekly 4/24/2013 4:00:00 PM {Sunday} True
3 Once 4/24/2013 4:00:00 PM True
The second command uses the **TriggerID** parameter of the **Get-JobTrigger** cmdlet to get the *Once* trigger of the SecurityCheck scheduled job. The command pipes the trigger to the Format-List cmdlet, which displays all of the properties of the *Once* job trigger.The output shows that the trigger starts the job once every hour (RepetitionInterval = 1 hour) for one day (RepetitionDuration = 1 day).
PS C:\> Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:00:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
The third command changes the repetition interval of the job trigger from one hour to 90 minutes. The command does not return any output.
PS C:\> Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
The fourth command displays the effect of the change.The output shows that the trigger starts the job once every 90 minutes (RepetitionInterval = 1 hour, 30 minutes) for one day (RepetitionDuration = 1 day).
PS C:\> Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:30:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Příkazy v tomto příkladu změní interval opakování Po spuštění úlohy naplánované úlohy SecurityCheck každých 60 minut na každých 90 minut. Naplánovaná úloha SecurityCheck má tři triggery úlohy, takže příkazy používají TriggerId parametr rutiny Get-JobTrigger k identifikaci aktivační události úlohy, která se mění.
První příkaz používá rutinu Get-JobTrigger k získání všech triggerů úloh naplánované úlohy SecurityCheck. Výstup, který zobrazuje ID aktivačních událostí úlohy, zjistí, že Jakmile trigger úlohy má ID 3.
Parametry
-At
Spustí úlohu v zadaném datu a čase. Zadejte objekt DateTime, například objekt, který Get-Date rutina vrátí, nebo řetězec, který lze převést na čas, například "19. dubna 2012 15:00", "12.31.2013 9:00" nebo "3:00".
Pokud nezadáte prvek objektu DateTime, například sekundy, tento prvek triggeru úlohy se nezmění. Pokud původní aktivační událost úlohy neobsahuje objekt DateTime a vynecháte prvek, trigger úlohy se vytvoří s odpovídajícím prvkem z aktuálního data a času.
Při použití parametru Jednou nastavte hodnotu parametru At na konkrétní datum a čas. Vzhledem k tomu, že výchozí datum v objektu DateTime je aktuální datum, nastavení času před aktuálním časem bez explicitního data má za následek aktivační událost úlohy po dobu v minulosti.
objekty DateTime a řetězce převedené na objekty DateTime jsou automaticky upraveny tak, aby byly kompatibilní s formáty data a času vybrané pro místní počítač v oblasti a jazyce v Ovládacích panelech.
Typ: | DateTime |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-AtLogOn
Spustí naplánovanou úlohu, když se zadaná uživatelé přihlásí k počítači. Pokud chcete zadat uživatele, použijte parametr User.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-AtStartup
Spustí naplánovanou úlohu při spuštění Windows.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Daily
Určuje plán opakovaných denních úloh. K určení podrobností plánu použijte další parametry v parametru Daily.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-DaysInterval
Určuje počet dní mezi výskyty v denním plánu. Například hodnota 3 spustí naplánovanou úlohu ve dnech 1, 4, 7 atd. Výchozí hodnota je 1.
Typ: | Int32 |
Position: | Named |
Default value: | 1 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-DaysOfWeek
Určuje dny v týdnu, kdy se spustí týdenní naplánovaná úloha. Zadejte názvy dnů, například pondělí, čtvrtek, celá čísla 0–6, kde 0 představuje neděli nebo hvězdičku (*) představující každý den. Tento parametr je vyžadován v sadě týdenních parametrů.
Názvy dnů se v triggeru úlohy převedou na celočíselné hodnoty. Když v příkazu uzavřete názvy dnů do uvozovek, uzavřete název každého dne do samostatných uvozovek, například "Pondělí", "Úterý". Pokud do páru jednoduchých uvozovek uzavřete více názvů dnů, sčítají se odpovídající celočíselné hodnoty. Například "Pondělí, úterý" (1, 2) má za následek hodnotu "Středa" (3).
Typ: | DayOfWeek[] |
Přípustné hodnoty: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-InputObject
Určuje aktivační události úlohy. Zadejte proměnnou, která obsahuje ScheduledJobTrigger objekty, nebo zadejte příkaz nebo výraz, který získá ScheduledJobTrigger objekty, například příkaz Get-JobTrigger. Můžete také ScheduledJobTrigger objekt Set-JobTrigger.
Pokud zadáte více aktivačních událostí úlohy, Set-JobTrigger provede stejné změny u všech aktivačních událostí úlohy.
Typ: | ScheduledJobTrigger[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Once
Určuje neopakovaný (jednorázový) plán.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-PassThru
Vrátí triggery úlohy, které se změnily. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RandomDelay
Povolí náhodné zpoždění, které začíná v naplánovaném čase zahájení a nastaví maximální hodnotu zpoždění. Délka zpoždění je nastavena pseudonáhodně pro každé spuštění a liší se od žádného zpoždění do času určeného hodnotou tohoto parametru. Výchozí hodnota, nula (00:00:00), zakáže náhodné zpoždění.
Zadejte objekt časového rozsahu, například objekt vrácený rutinou New-TimeSpan, nebo zadejte hodnotu do <hodin>:<minuty>:<sekund> formátu, který se automaticky převede na objekt časového rozsahu.
Typ: | TimeSpan |
Position: | Named |
Default value: | 00:00:00 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RepeatIndefinitely
Tento parametr, který je dostupný v prostředí Windows PowerShell 4.0, eliminuje nutnost zadat hodnotu TimeSpan.MaxValue parametru Opakování, aby se naplánovaná úloha spouštěla opakovaně po neomezenou dobu.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RepetitionDuration
Opakuje úlohu, dokud nevyprší zadaný čas. Frekvence opakování je určena hodnotou parametru RepetitionInterval. Pokud je například hodnota OpakováníInterval 5 minut a hodnota opakování je 2 hodiny, úloha se aktivuje každých pět minut po dobu dvou hodin.
Zadejte objekt časového rozsahu, například objekt, který New-TimeSpan rutina vrátí, nebo řetězec, který lze převést na objekt časového rozsahu, například 1:05:30.
Pokud chcete úlohu spustit neomezeně dlouho, přidejte místo toho parametr RepeatIndefinitely.
Chcete-li zastavit úlohu před vypršením doby trvání opakování úlohy, nastavte OpakováníDuration hodnotu nula (0).
Pokud chcete změnit dobu trvání opakování nebo interval opakování triggeru úlohy Po úlohy, musí příkaz obsahovat parametry OpakováníInter val i opakování parametry. Pokud chcete změnit dobu trvání opakování nebo intervaly opakování jiných typů aktivačních událostí úlohy, musí příkaz obsahovat parametry Once, At, RepetitionInterval a RepetitionDuration parametry.
Typ: | TimeSpan |
Position: | Named |
Default value: | 0 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RepetitionInterval
Zopakuje úlohu v zadaném časovém intervalu. Pokud je například hodnota tohoto parametru 2 hodiny, úloha se aktivuje každé dvě hodiny. Výchozí hodnota 0 neopakuje úlohu.
Zadejte objekt časového rozsahu, například objekt, který New-TimeSpan rutina vrátí, nebo řetězec, který lze převést na objekt časového rozsahu, například 1:05:30.
Pokud chcete změnit dobu trvání opakování nebo interval opakování triggeru úlohy Po úlohy, musí příkaz obsahovat parametry OpakováníInter val i opakování parametry. Pokud chcete změnit dobu trvání opakování nebo intervaly opakování jiných typů aktivačních událostí úlohy, musí příkaz obsahovat parametry Once, At, RepetitionInterval a RepetitionDuration parametry.
Typ: | TimeSpan |
Position: | Named |
Default value: | 0 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-User
Určuje uživatele, kteří aktivují AtLogon zahájení naplánované úlohy. Zadejte jméno uživatele ve formátu <uživatelské jméno> nebo <Doména\Uživatelské jméno> nebo zadejte hvězdičku (*). Výchozí hodnota je pro všechny uživatele.
Typ: | String |
Position: | Named |
Default value: | All users |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Weekly
Určuje týdenní plán úloh. K určení podrobností plánu použijte další parametry v týdenním parametru nastaveném.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-WeeksInterval
Určuje počet týdnů mezi výskyty v týdenním plánu úlohy. Například hodnota 3 spustí naplánovanou úlohu v týdnech 1, 4, 7 atd. Výchozí hodnota je 1.
Typ: | Int32 |
Position: | Named |
Default value: | 1 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
K Set-JobTriggermůžete připojit více aktivačních událostí úlohy.
Výstupy
None or Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger
Když použijete parametr Passthru, Set-JobTrigger vrátí triggery úlohy, které byly změněny. Jinak tato rutina negeneruje žádný výstup.
Poznámky
- Triggery úloh mají vlastnost JobDefintion, která je přidruží k naplánované úloze. Když změníte trigger úlohy naplánované úlohy, změní se úloha. K použití změněné aktivační události pro naplánovanou úlohu nemusíte použít příkaz Set-ScheduledJob.
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