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/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ž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 1
atd4
7
. 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é číslo6
0
- , 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 + 2
hodnota 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 , 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
.
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 1
atd4
7
. 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
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ý rutinamiNew-JobTrigger
neboGet-JobTrigger
tabulku hash s hodnotami triggeru.K odeslání hashovací tabulky použijte následující klíče.
- Frekvence:
Once
, ,Weekly
Daily
,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
- Frekvence:
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