New-JobTrigger

Vytvoří trigger úlohy pro naplánovanou úlohu.

Syntax

New-JobTrigger
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   [-Once]
   [-RepetitionInterval <TimeSpan>]
   [-RepetitionDuration <TimeSpan>]
   [-RepeatIndefinitely]
   [<CommonParameters>]
New-JobTrigger
   [-DaysInterval <Int32>]
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   [-Daily]
   [<CommonParameters>]
New-JobTrigger
   [-WeeksInterval <Int32>]
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   -DaysOfWeek <DayOfWeek[]>
   [-Weekly]
   [<CommonParameters>]
New-JobTrigger
   [-RandomDelay <TimeSpan>]
   [-AtStartup]
   [<CommonParameters>]
New-JobTrigger
   [-RandomDelay <TimeSpan>]
   [-User <String>]
   [-AtLogOn]
   [<CommonParameters>]

Description

Rutina New-JobTrigger vytvoří aktivační událost úlohy, která spustí naplánovanou úlohu na jednorázovém nebo opakovaném plánu nebo při výskytu události.

Objekt ScheduledJobTrigger , který vrátí New-JobTrigger , můžete použít k nastavení triggeru úlohy pro novou nebo existující naplánovanou úlohu. Aktivační událost úlohy můžete vytvořit také pomocí rutiny Get-JobTrigger k získání triggeru úlohy existující naplánované úlohy nebo pomocí hodnoty tabulky hash, která představuje aktivační událost úlohy.

Při vytváření triggeru úlohy zkontrolujte výchozí hodnoty možností zadaných rutinou New-ScheduledJobOption. Tyto možnosti, které mají stejné platné a výchozí hodnoty jako odpovídající možnosti v Plánovači úloh, ovlivňují plánování a načasování plánovaných úloh.

New-JobTrigger 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ématu Témata v modulu PSScheduledJob. Importujte modul PSScheduledJob a zadejte: Get-Help about_Scheduled* nebo si prohlédněte about_Scheduled_Jobs.

Tato rutina byla zavedena v Windows PowerShell 3.0.

Příklady

Příklad 1: Po naplánování

PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"

Tento příkaz používá rutinu New-JobTrigger k vytvoření triggeru úlohy, která spustí naplánovanou úlohu pouze jednou. Hodnota parametru At je řetězec, který Windows PowerShell převede na objekt DateTime. Hodnota parametru At obsahuje explicitní datum, nejen čas. Pokud by datum bylo vynecháno, trigger by se vytvořil s aktuálním datem a časem 3:00, což bude pravděpodobně představovat čas v minulosti.

Příklad 2: Denní plán

PS C:\> New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Id         Frequency       Time                   DaysOfWeek              Enabled
--         ---------       ----                   ----------              -------
0          Daily           9/21/2012 4:15:00 AM                           True

Tento příkaz vytvoří trigger úlohy, který spustí naplánovanou úlohu každých 3 dní v 4:15.

Protože hodnota parametru At neobsahuje datum, použije se aktuální datum jako hodnota data v objektu DateTime . Pokud je datum a čas v minulosti, naplánovaná úloha se spustí v dalším výskytu, což je 3 dny později z hodnoty parametru At .

Příklad 3: Týdenní plán

PS C:\> New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4
Id Frequency Time                  DaysOfWeek                  Enabled
-- --------- ----                  ----------                  -------
0  Weekly    9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True

Tento příkaz vytvoří trigger úlohy, který spustí naplánovanou úlohu každých 4 týdnů v pondělí, středu a pátek v 2300 hodinách (11:00 PM).

Můžete také zadat hodnotu parametru DaysOfWeek v celých číslech, například -DaysOfWeek 1, 5.

Příklad 4: Plán přihlášení

PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01

Tento příkaz vytvoří trigger úlohy, který spustí naplánovanou úlohu pokaždé, když se správce domény přihlásí k počítači.

Příklad 5: Použití náhodného zpoždění

PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00

Tento příkaz vytvoří trigger úlohy, který každý den spustí naplánovanou úlohu v 1:00 ráno. Příkaz používá parametr RandomDelay k nastavení maximálního zpoždění na 20 minut. V důsledku toho se úloha spouští každý den mezi 1:00 a 1:20 a intervalem, který se mění pseudo náhodně.

Pro vzorkování, vyrovnávání zatížení a další úlohy správy můžete použít náhodné zpoždění. Při nastavování hodnoty zpoždění zkontrolujte efektivní a výchozí hodnoty rutiny New-ScheduledJobOption a koordinujte zpoždění s nastavením možnosti.

Příklad 6: Vytvoření triggeru úlohy pro novou naplánovanou úlohu

The first command uses the **New-JobTrigger** cmdlet to create a job trigger that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The command saves the job trigger in the $T variable.
PS C:\> $T = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM


The second command uses the Register-ScheduledJob cmdlet to create a scheduled job that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The value of the *Trigger* parameter is the trigger that is stored in the $T variable.
PS C:\> Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $T

Tyto příkazy používají trigger úlohy k vytvoření nové naplánované úlohy.

Příklad 7: Přidání triggeru úlohy do naplánované úlohy

PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)

Tento příklad ukazuje, jak přidat trigger úlohy do existující naplánované úlohy. Do jakékoli naplánované úlohy můžete přidat více aktivačních událostí úlohy.

Příkaz používá rutinu Add-JobTrigger k přidání triggeru úlohy do naplánované úlohy SynchronizApps. Hodnota parametru Trigger je příkaz New-JobTrigger , který spouští úlohu každý den v 3:10.

Po dokončení příkazu je SynchronizApps naplánovaná úloha, která se spouští v časech určených triggerem úlohy.

Příklad 8: Vytvoření triggeru opakující se úlohy

PS C:\> New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)

Tento příkaz vytvoří trigger úlohy, který spustí úlohu každých 60 minut po dobu 48 hodin od 12. září 2013 v 1:00.

Příklad 9: Zastavení triggeru opakující se úlohy

PS C:\> Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00

Tento příkaz vynuceně zastaví úlohu SecurityCheck, která se aktivuje ke spuštění každých 60 minut, dokud jeho aktivační událost úlohy nevyprší.

Pokud chcete zabránit opakování úlohy, příkaz použije Get-JobTrigger k získání triggeru úlohy SecurityCheck a rutiny Set-JobTrigger ke změně intervalu opakování a doby trvání opakování triggeru úlohy na nulu (0).

Příklad 10: Vytvoření hodinové aktivační události úlohy

PS C:\> New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)

Následující příkaz vytvoří trigger úlohy, který spustí naplánovanou úlohu jednou každých 12 hodin po neomezenou dobu. Plán začíná zítra (9.21.2012) v půlnoci (0:00).

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 datum a čas, například "19. dubna 2012 15:00", "12/31" nebo "3am". Pokud nezadáte prvek data, například rok, má datum v triggeru odpovídající prvek od aktuálního data.

Při použití parametru Once nastavte hodnotu parametru At na budoucí datum a čas. Vzhledem k tomu, že výchozí datum v objektu DateTime je aktuální datum, pokud zadáte čas před aktuálním časem bez explicitního data, trigger úlohy se vytvoří pro čas 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:True
Accept pipeline input:False
Accept wildcard characters:False

-AtLogOn

Spustí naplánovanou úlohu, když se zadané uživatele přihlásí k počítači. Pokud chcete zadat uživatele, použijte parametr User .

Type:SwitchParameter
Position:0
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AtStartup

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

Type:SwitchParameter
Position:0
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Daily

Určuje opakující se denní plán úlohy. K určení podrobností plánu použijte další parametry v sadě parametrů Daily .

Type:SwitchParameter
Position:0
Default value:None
Required:True
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 spustí naplánovanou úlohu ve dnech 1, 4, 7 atd. Výchozí hodnota je 1.

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

-DaysOfWeek

Určuje dny v týdnu, ve kterých se spouští týdenní naplánovaná úloha. Zadejte názvy dnů, například pondělí nebo celé číslo 0–6, kde 0 představuje neděli. Tento parametr je vyžadován v sadě týdenních parametrů.

Názvy dnů se převedou na celočíselné hodnoty v triggeru úlohy. Když v příkazu uzavřete názvy dnů do uvozovek, uzavřete každý den název do samostatných uvozovek, například "Pondělí", "Úterý". Pokud uzavřete více názvů dnů do páru jednoduchých uvozovek, sčítají se odpovídající celočíselné hodnoty. Například "Pondělí, úterý" (1, 2) má hodnotu "Středa" (3).

Type:DayOfWeek[]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Once

Určuje neopakovaný (jednorázový) nebo vlastní opakující se plán. Pokud chcete vytvořit opakující se plán, použijte parametr Once s parametry RepeatDuration a RepeatInterval .

Type:SwitchParameter
Position:0
Default value:None
Required:True
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 pseudo-ná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 ve <formátu hours>:minutes>:<<seconds>, který se automaticky převede na objekt TimeSpan.

Type:TimeSpan
Position:Named
Default value:00:00:00
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RepeatIndefinitely

Tento parametr, který je k dispozici od Windows PowerShell 4.0, eliminuje nutnost zadat hodnotu TimeSpan.MaxValue pro parametr RepetitionDuration pro opakované spuštění naplánované úlohy 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 vrací, nebo řetězec, který lze převést na objekt časového rozsahu, například 1:05:30.

Pokud chcete spustit úlohu na neomezenou dobu, přidejte místo toho parametr RepeatIndefinitely .

Pokud chcete zastavit úlohu před vypršením doby trvání opakování spuštění úlohy, použijte rutinu Set-JobTrigger k nastavení hodnoty OpakováníDuration na nulu (0).

Tento parametr je platný pouze v případě, že jsou v příkazu použity parametry Once, At and RepetitionInterval .

Type:TimeSpan
Position:Named
Default value:0
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ých dvě hodiny. Výchozí hodnota 0 neopakuje úlohu.

Zadejte objekt časového rozsahu, například objekt, který rutina New-TimeSpan vrací, nebo řetězec, který lze převést na objekt časového rozsahu, například 1:05:30.

Tento parametr je platný pouze v případě, že jsou v příkazu použity parametry Once, At a RepetitionDuration .

Type:TimeSpan
Position:Named
Default value:0
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 <formátu UserName> nebo <Domain\Username> nebo 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:All users
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Weekly

Určuje opakovaný týdenní plán úlohy. K určení podrobností plánu použijte další parametry v sadě týdenních parametrů.

Type:SwitchParameter
Position:0
Default value:None
Required:True
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 spustí naplánovanou úlohu na týdnech 1, 4, 7 atd. Výchozí hodnota je 1.

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

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger

Poznámky

  • Triggery úloh se neukládají na disk. Naplánované úlohy se ale ukládají na disk a pomocí Get-JobTrigger můžete získat trigger úlohy libovolné naplánované úlohy.

  • New-JobTrigger vám nebrání v vytváření aktivační události úlohy, která nebude spouštět naplánovanou úlohu, jako je jednorázový trigger pro datum v minulosti.

  • Rutina Register-ScheduledJob přijímá objekt ScheduledJobTrigger, například objekt vrácený rutinami New-JobTrigger nebo Get-JobTrigger nebo hash tabulka s hodnotami triggeru.

    Pokud chcete odeslat tabulku hash, 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 libovolná kombinace jmen dnů); Interval=2 (nebo jakýkoli platný interval četnosti); RandomDelay="30minutes" (nebo jakýkoli platný řetězec časového rozsahu); User="Domain1\User01 (nebo jakýkoli platný uživatel; používá se pouze s hodnotou frekvence AtLogon ) }