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ří trigger úlohy, který spustí naplánovanou úlohu podle jednorázového nebo opakovaného plánu nebo při výskytu události.
Můžete použít ScheduledJobTrigger objekt, který New-JobTrigger vrátí k nastavení triggeru úlohy pro novou nebo existující naplánovanou úlohu. Trigger úlohy můžete také vytvořit pomocí rutiny Get-JobTrigger, která získá aktivační událost ú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, mají vliv na 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 PowerShell.
Další informace o naplánovaných úlohách najdete v tématech O produktu v modulu PSScheduledJob.
Importujte modul PSScheduledJob a zadejte: Get-Help about_Scheduled*
nebo se podívejte about_Scheduled_Jobs.
Tato rutina byla zavedena v Windows PowerShell 3.0.
Příklady
Příklad 1: Jednou plá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 zahrnuje explicitní datum, nikoli pouze čas. Pokud by se datum vynechalo, trigger by se vytvořil s aktuálním datem a časem 3:00, což pravděpodobně představuje č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é 3 dny ve 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 od 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é 4 týdny v pondělí, středu a pátek ve 2300 hodin (23:00).
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ý spustí naplánovanou úlohu každý den 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 interval se mění pseudonáhodně.
Náhodné zpoždění můžete použít pro vzorkování, vyrovnávání zatížení a další úlohy správy. 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: Create trigger ú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 libovolné naplánované úlohy můžete přidat více aktivačních událostí úloh.
Příkaz použije rutinu Add-JobTrigger k přidání triggeru úlohy do naplánované úlohy SynchronizeApps. Hodnota parametru Trigger je příkaz New-JobTrigger , který spouští úlohu každý den ve 3:10.
Po dokončení příkazu je synchronizační aplikace naplánovaná úloha, která se spouští v časech určených triggerem úlohy.
Příklad 8: Create 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 vynutil zastavení úlohy SecurityCheck, která se aktivuje ke spuštění každých 60 minut, dokud nevyprší platnost triggeru úlohy.
Aby se úloha neopakovala, 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: Create hodinový trigger ú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 každých 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é datum a čas. Zadejte objekt DateTime , například objekt, který vrátí rutina Get-Date, nebo řetězec, který lze převést na datum a čas, například "19. dubna 2012 15:00", "12/31" nebo "3:00". Pokud nezadáte prvek data, například rok, bude datum v triggeru obsahovat 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, aktivační událost úlohy se vytvoří pro čas v minulosti.
Objekty DateTime a řetězce, které jsou převedeny na objekty DateTime, se automaticky upraví tak, aby byly kompatibilní s formáty data a času vybrané pro místní počítač v části Oblast a Jazyk 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 při přihlášení zadaných uživatelů k počítači. Pokud chcete určit 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í Windows.
Type: | SwitchParameter |
Position: | 0 |
Default value: | False |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Daily
Určuje plán opakovaných denních úloh. K zadání 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 podle denního plánu. Například hodnota 3 spustí naplánovanou úlohu v 1, 4, 7 a tak dále. 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 běží týdenní naplánovaná úloha. Zadejte názvy dnů, například Pondělí nebo celá čísla 0–6, kde 0 představuje neděli. Tento parametr je povinný v týdenní sadě parametrů.
Názvy dnů se v triggeru úlohy převedou na jejich celočíselné hodnoty. Když v příkazu uzavřete názvy dnů do uvozovek, uzavřete názvy jednotlivých dnů do samostatných uvozovek, například "Pondělí", "Úterý". Pokud uzavřete více názvů dnů do jedné uvozovky, sečtou 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í plán opakování. Pokud chcete vytvořit plán opaková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á naplánovaným časem spuštění, 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í až po čas určený 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, 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
Zopakuje ú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 ten, který vrátí rutina New-TimeSpan, nebo řetězec, který lze převést na objekt časového rozsahu, například 1:05:30.
Pokud chcete úlohu spouštět po neomezenou dobu, přidejte místo toho parametr RepeatIndefinitely .
Pokud chcete úlohu zastavit před vypršením doby trvání opakování aktivace úlohy, nastavte pomocí rutiny Set-JobTrigger hodnotu 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: | 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é dvě hodiny. Výchozí hodnota 0 neopakuje úlohu.
Zadejte objekt časového rozsahu, například ten, který vrátí rutina New-TimeSpan, 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. Do pole UserName (Uživatelské jméno>) nebo <Domain\Username (Doména\Uživatelské jméno>) zadejte jméno uživatele <nebo hvězdičku (*), která bude představovat všechny uživatele. Výchozí hodnota je všichni uživatelé.
Type: | String |
Position: | Named |
Default value: | All users |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Weekly
Určuje týdenní plán opakovaných úloh. Pomocí dalších parametrů v sadě parametrů Weekly (Týdenní) 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 úloh. Například hodnota 3 spustí naplánovanou úlohu v týdnu 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řipojit.
Výstupy
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 nezabrání ve vytvoření triggeru úlohy, který nespustí naplánovanou úlohu, například 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 tabulku hash s hodnotami triggeru.
K odeslání hashovací tabulky 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 jakoukoli kombinaci názvů dnů);Interval=2
(nebo jakýkoli platný interval četnosti);RandomDelay="30minutes"
(nebo jakýkoli platný řetězec časového rozsahu);User="Domain1\User01
(nebo libovolného platného uživatele; používá se pouze s hodnotou frekvence AtLogon ) }
Související odkazy
- about_Scheduled_Jobs
- 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