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í Get-JobTrigger
rutiny pro získání triggeru úlohy naplánované úlohy. Pak aktivační událost přeskakujte do Set-JobTrigger
proměnné nebo ji uložte do proměnné a pomocí parametru Set-JobTrigger
InputObject rutiny aktivační událost identifikujte.
Ke změně triggeru Set-JobTrigger
úlohy použijte zbývající parametry.
Když změníte typ triggeru úlohy, například změnu triggeru úlohy z denního nebo týdenního triggeru na trigger AtLogon , 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í 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 dnů v triggeru úlohy
Tento příklad ukazuje, jak změnit dny v týdenním triggeru úlohy.
Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
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
První příkaz použije rutinu Get-JobTrigger
k získání triggeru úlohy naplánované DeployPackage
úlohy. Výstup ukazuje, že trigger spustí úlohu o půlnoci ve středu a sobotách.
Druhý příkaz používá rutinu Get-JobTrigger
k získání triggeru úlohy naplánované DeployPackage
úlohy. Operátor kanálu (|
) odešle trigger do Set-JobTrigger
rutiny, která změní trigger úlohy tak, aby se úloha spustila DeployPackage
ve středu a neděli. Příkaz použije parametr PassThru k vrácení triggeru po změně.
Tento příkaz není povinný. je součástí pouze k zobrazení účinku změny triggeru.
Příklad 2: Změna typu triggeru úlohy
Tento příklad ukazuje, jak změnit typ triggeru úlohy, který spouští úlohu. Příkazy v tomto příkladu AtStartup
nahradí trigger úlohy týdenním triggerem.
Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
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
První příkaz použije rutinu Get-JobTrigger
k získání triggeru úlohy naplánované Inventory
úlohy. Výstup ukazuje, že úloha má dvě aktivační události denně a trigger AtStartup .
Druhý příkaz používá rutinu Get-JobTrigger
k získání triggeru Inventory
úlohy AtStartup úlohy. Příkaz používá k identifikaci triggeru úlohy parametr TriggerID . Operátor kanálu (|
) odešle aktivační událost úlohy do Set-JobTrigger
rutiny, která ji změní na týdenní aktivační událost úlohy, která se spouští každé čtyři týdny v pondělí o půlnoci. Příkaz použije parametr PassThru k vrácení triggeru po změně.
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
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 úlohách AtLogon aktivovaných 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 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 Get-JobTrigger
rutiny, 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í.
Aktivační události úlohy se předávají do Where-Object
rutiny, která získá aktivační události úlohy, které mají vlastnost User . Aktivační události vybrané úlohy se předávají do Set-JobTrigger
rutiny, která změní uživatele na Domain01\Admin02
.
Příklad 4: Změna jedné z mnoha aktivačních událostí úlohy
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
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
Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
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í triggeru SecurityCheck
úlohy Jednou z každých 60 minut na každých 90 minut. Naplánovaná SecurityCheck
úloha má tři triggery úlohy, takže příkazy používají parametr Get-JobTrigger
TriggerId rutiny k identifikaci aktivační události úlohy, která se mění.
První příkaz pomocí rutiny Get-JobTrigger
získá všechny aktivační události úlohy naplánované SecurityCheck
úlohy. Výstup, který zobrazuje ID aktivačních událostí úlohy, zjistí, že trigger úlohy Jakmile má ID 3
.
Druhý příkaz pomocí parametru Get-JobTrigger
TriggerID rutiny získá trigger Jednou naplánované SecurityCheck
úlohy. Příkaz předá aktivační událost do Format-List
rutiny, která zobrazí všechny vlastnosti triggeru úlohy Once . Výstup ukazuje, že trigger spustí úlohu jednou za hodinu (Opakováníinterval je 1 hodina) pro jeden den (Doba opakování je 1 den).
Třetí příkaz změní interval opakování triggeru úlohy od jedné hodiny do 90 minut. Příkaz nevrací žádný výstup.
Čtvrtý příkaz zobrazí efekt změny. Výstup ukazuje, že trigger spustí úlohu jednou za 90 minut (Opakováníinterval je 1 hodina, 30 minut) po dobu jednoho dne (Doba opakování je 1 den).
Parametry
-At
Spustí úlohu v zadaném datu a čase. Zadejte objekt DateTime, například objekt, který rutina Get-Date
vrátí, nebo řetězec, který lze převést na čas, například April 19, 2012 15:00
, 12/31/2013 9:00 PM
nebo 3am
.
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 Once 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 trigger úlohy po dobu v minulosti.
Objekty DateTime a řetězce převedené na objekty DateTime se automaticky upraví tak, aby byly kompatibilní s formáty data a času vybrané pro místní počítač v oblasti a jazyce v Ovládací panely.
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: | None |
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: | None |
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. Pomocí dalších parametrů v sadě parametrů Daily určete podrobnosti plánu.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
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
spuštění naplánované úlohy ve dnech 1
atd4
7
. Výchozí hodnota je 1
.
Typ: | Int32 |
Position: | Named |
Default value: | None |
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 Monday
, celá Thursday
čí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 každý den název do samostatných uvozovek, například "Monday", "Tuesday"
. Pokud do páru jednoduchých uvozovek uzavřete více názvů dnů, sčítají se odpovídající celočíselné hodnoty. Výsledkem je například "Monday, Tuesday"
1 + 2
hodnota Wednesday
(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 obsahující objekty ScheduledJobTrigger nebo zadejte příkaz nebo výraz, který získá objekty ScheduledJobTrigger, například Get-JobTrigger
příkaz.
Do objektu ScheduledJobTrigger lze také pipetovat Set-JobTrigger
objekt .
Pokud zadáte více aktivačních událostí úlohy, Set-JobTrigger
provede stejné změny 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: | None |
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: | None |
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 New-TimeSpan
, například objekt vrácený rutinou, nebo zadejte hodnotu ve <hours>:<minutes>:<seconds>
formátu, která se automaticky převede na objekt časového rozsahu.
Typ: | TimeSpan |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RepeatIndefinitely
Tento parametr, který je dostupný ve Windows PowerShellu 4.0, eliminuje nutnost zadat hodnotu TimeSpan.MaxValue pro parametr RepetitionDuration, 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íDuration 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ý rutina New-TimeSpan
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ě dlouhou dobu, přidejte místo toho parametr RepeatIndefinitely .
Pokud chcete zastavit úlohu před vypršením doby trvání opakování triggeru úlohy, nastavte hodnotu Opakování na nulu (0
).
Pokud chcete změnit dobu trvání opakování nebo interval opakování triggeru úlohy Once , musí příkaz obsahovat parametry RepetitionInterval i RepetitionDuration . 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 .
Typ: | TimeSpan |
Position: | Named |
Default value: | None |
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ý rutina New-TimeSpan
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 Once , musí příkaz obsahovat parametry RepetitionInterval i RepetitionDuration . 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 .
Typ: | TimeSpan |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-User
Určuje uživatele, kteří aktivují spuštění AtLogon naplánované úlohy. Zadejte jméno uživatele ve <UserName>
formátu nebo <Domain>\<Username>
zadejte hvězdičku (*
), která bude představovat všechny uživatele. Výchozí hodnota je pro všechny uživatele.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Weekly
Určuje týdenní plán úloh. Pomocí dalších parametrů v sadě týdenních parametrů zadejte podrobnosti plánu.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
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
zahájení naplánované úlohy v týdnech 1
atd4
7
. Výchozí hodnota je 1
.
Typ: | Int32 |
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 spustit trigger úlohy.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Když použijete parametr PassThru , vrátí tato rutina triggery úlohy, které se změnily.
Poznámky
- Triggery úloh mají vlastnost JobDefinition , 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
Set-ScheduledJob
příkaz.
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