New-JobTrigger

Vytvoří aktivační událost ú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 v jednorázovém nebo opakovaném plánu nebo v případě, že dojde k události.

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

Při vytváření triggeru úlohy zkontrolujte výchozí hodnoty možností určený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í naplánovaných úloh.

New-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: Po naplánování

Tento příklad vytvoří trigger úlohy, který spustí naplánovanou úlohu pouze jednou.

New-JobTrigger -Once -At "1/20/2012 3:00 AM"

Rutina New-JobTrigger pro 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 zahrnuje explicitní datum, nejen čas. Pokud by se datum vynechalo, 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

Tento příklad vytvoří novou aktivační událost úlohy, která spustí naplánovanou úlohu každý třetí den.

New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3

Tento příkaz vytvoří trigger úlohy, který spustí naplánovanou úlohu každých 3 dny 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í při dalším výskytu, což je o 3 dny později z hodnoty parametru At .

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

Tento příklad vytvoří trigger úlohy, který spustí naplánovanou úlohu každý čtvrtý týden v zadaných dnech v týdnu.

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ří aktivační událost úlohy, která spustí naplánovanou úlohu v pondělí, středu a pátek v 2300 hodinách (11:00) každých 4 týdny.

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

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

Tento příklad vytvoří trigger úlohy, který spustí naplánovanou úlohu při přihlášení konkrétního uživatele.

New-JobTrigger -AtLogOn -User Domain01\Admin01

Tento příkaz vytvoří aktivační událost ú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í

Tento příklad vytvoří novou aktivační událost úlohy s náhodným zpožděním časového rozsahu.

New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00

Tento příkaz vytvoří trigger úlohy, který spustí naplánovanou úlohu každý den v 1:00 ráno. Příkaz použije 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í pseudoná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 New-ScheduledJobOption rutiny a koordinujte zpoždění s nastavením možnosti.

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

Tento příklad používá trigger úlohy k vytvoření nové naplánované úlohy.

$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t

První příkaz pomocí rutiny New-JobTrigger vytvoří trigger úlohy, který spustí úlohu každé pondělí, středu a pátek v 12:01. Příkaz uloží trigger úlohy do $t proměnné.

Druhý příkaz pomocí rutiny Register-ScheduledJob vytvoří naplánovanou úlohu, která spustí úlohu každé pondělí, středu a pátek v 12:01. Hodnota parametru Trigger je aktivační událost uložená v $t proměnné.

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

Tento příklad ukazuje, jak přidat trigger úlohy do existující naplánované úlohy.

Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)

Do jakékoli naplánované úlohy můžete přidat více aktivačních událostí úlohy.

Příkaz pomocí rutiny Add-JobTrigger přidá trigger úlohy do naplánované úlohy SynchronizeApps . Hodnota parametru Trigger je New-JobTrigger příkaz, který úlohu spouští 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

Tento příklad vytvoří aktivační událost opakující se úlohy, která se spustí jenom po určitou dobu.

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

Tento příklad zastaví aktivační událost opakující se úlohy.

Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00

Tento příkaz vynuceně zastaví úlohu SecurityCheck , která se aktivuje tak, aby se spustila každých 60 minut, dokud nevyprší platnost triggeru úlohy.

Aby se úloha neopakovala, použije příkaz 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

Tento příklad vytvoří aktivační událost opakující se úlohy, která běží neomezeně dlouho.

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 za 12 hodin po neomezenou dobu. Plán začíná zítra (21. 9. 2012) o půlnoci (0:00).

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 datum a čas, například April 19, 2012 15:00, 12/31nebo 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živatelé přihlásí k počítači. Pokud chcete zadat uživatele, použijte parametr User .

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

-AtStartup

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

Type:SwitchParameter
Position:0
Default value:None
Required:True
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: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 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é číslo60- , kde 0 představuje neděli. 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:True
Accept pipeline input:False
Accept wildcard characters:False

-Once

Určuje neopakující se (jednorázově) nebo vlastní opakující se plán. Chcete-li 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 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 TimeSpan .

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 .

Chcete-li zastavit úlohu před vypršením doby trvání opakování aktivační události ú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 a RepetitionInterval .

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.

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: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: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 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

None

Do této rutiny nemůžete roušit objekty.

Výstupy

ScheduledJobTrigger

Tato rutina vrátí objekt ScheduledJobTrigger představující vytvořený trigger.

Poznámky

  • Triggery úloh se neukládají na disk. Naplánované úlohy se ale ukládají na disk a můžete použít Get-JobTrigger k získání triggeru úlohy jakékoli naplánované úlohy.

  • New-JobTrigger nebrání vytvoření triggeru úlohy, která nebude spouštět naplánovanou úlohu, například jednorázovou aktivační událost pro datum v minulosti.

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

    K odeslání hashovací tabulky použijte následující klíče.

    • Frekvence: Once, , WeeklyDaily, AtStartup, neboAtLogon
    • At: any valid time string, such such as 3am
    • DaysOfWeek: libovolná kombinace názvů dnů jako řetězců, například "Monday", "Wednesday"
    • Interval: libovolný platný interval frekvence jako celé číslo
    • RandomDelay: libovolný platný řetězec časového rozsahu, například 30minutes
    • Uživatel: libovolný platný uživatel, například Domain1\User01; použitý pouze s hodnotou frekvence AtLogon