Set-JobTrigger

Změní aktivační událost úlohy naplánované úlohy.

Syntax

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 JakmileID3.

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 PMnebo 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.

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AtStartup

Spustí naplánovanou úlohu při spuštění Windows.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Daily

Určuje plán opakovaných denních úloh. Pomocí dalších parametrů v sadě parametrů Daily určete podrobnosti plánu.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 1atd47. Výchozí hodnota je 1.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 06-, 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 + 2hodnota Wednesday (3).

Type:DayOfWeek[]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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-JobTriggerobjekt .

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.

Type:ScheduledJobTrigger[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Once

Určuje neopakovaný (jednorázový) plán.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Vrátí triggery úlohy, které se změnily. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 , 0neopakuje ú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 .

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Weekly

Určuje týdenní plán úloh. Pomocí dalších parametrů v sadě týdenních parametrů zadejte podrobnosti plánu.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 1atd47. Výchozí hodnota je 1.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

ScheduledJobTrigger

Do této rutiny můžete spustit trigger úlohy.

Výstupy

None

Ve výchozím nastavení tato rutina nevrací žádný výstup.

ScheduledJobTrigger

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.