New-JobTrigger
Tworzy wyzwalacz zadania dla zaplanowanego zadania.
Składnia
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>]
Opis
Polecenie New-JobTrigger
cmdlet tworzy wyzwalacz zadania, który uruchamia zaplanowane zadanie w ramach jednorazowego lub cyklicznego harmonogramu lub gdy wystąpi zdarzenie.
Możesz użyć obiektu ScheduledJobTrigger , który New-JobTrigger
powraca, aby ustawić wyzwalacz zadania dla nowego lub istniejącego zaplanowanego zadania. Możesz również utworzyć wyzwalacz zadania za pomocą Get-JobTrigger
polecenia cmdlet , aby uzyskać wyzwalacz zadania istniejącego zaplanowanego zadania lub wartość tabeli skrótu reprezentująca wyzwalacz zadania.
Podczas tworzenia wyzwalacza zadania przejrzyj wartości domyślne opcji określonych przez New-ScheduledJobOption
polecenie cmdlet. Te opcje, które mają te same prawidłowe i domyślne wartości co odpowiednie opcje w Harmonogramie zadań, wpływają na planowanie i harmonogram zaplanowanych zadań.
New-JobTrigger
jest jedną z kolekcji poleceń cmdlet planowania zadań w module PSScheduledJob, który znajduje się w programie Windows PowerShell.
Aby uzyskać więcej informacji na temat zaplanowanych zadań, zobacz temat Informacje w module PSScheduledJob. Zaimportuj moduł PSScheduledJob, a następnie wpisz: Get-Help about_Scheduled*
lub zobacz about_Scheduled_Jobs.
To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.
Przykłady
Przykład 1: Po harmonogramie
W tym przykładzie tworzony jest wyzwalacz zadania w celu uruchomienia zaplanowanego zadania tylko raz.
New-JobTrigger -Once -At "1/20/2012 3:00 AM"
Polecenie New-JobTrigger
cmdlet do utworzenia wyzwalacza zadania uruchamiającego zaplanowane zadanie tylko raz. Wartość parametru At jest ciągiem, który program Windows PowerShell konwertuje na obiekt DateTime .
Wartość At parametru zawiera jawną datę, a nie tylko godzinę. Jeśli data została pominięta, wyzwalacz zostanie utworzony z bieżącą datą i godziną 3:00, która prawdopodobnie będzie reprezentować godzinę w przeszłości.
Przykład 2. Harmonogram dzienny
W tym przykładzie tworzony jest nowy wyzwalacz zadania w celu uruchomienia zaplanowanego zadania co trzeci dzień.
New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
To polecenie tworzy wyzwalacz zadania, który uruchamia zaplanowane zadanie co 3 dni o godzinie 4:15.
Ponieważ wartość parametru At nie zawiera daty, bieżąca data jest używana jako wartość daty w obiekcie DateTime . Jeśli data i godzina przypada w przeszłości, zaplanowane zadanie jest uruchamiane w następnym wystąpieniu, czyli 3 dni później od wartości parametru At .
Przykład 3. Harmonogram tygodniowy
W tym przykładzie tworzony jest wyzwalacz zadania, który uruchamia zaplanowane zadanie co czwarty tydzień w określonych dniach tego tygodnia.
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
To polecenie tworzy wyzwalacz zadania, aby uruchomić zaplanowane zadanie w poniedziałek, środę i piątek o 2300 godzin (11:00 PM) co 4 tygodnie.
Możesz również wprowadzić wartość parametru DaysOfWeek w liczbach całkowitych, takich jak -DaysOfWeek 1, 5
.
Przykład 4. Harmonogram logowania
W tym przykładzie zostanie utworzony wyzwalacz zadania w celu uruchomienia zaplanowanego zadania podczas logowania określonego użytkownika.
New-JobTrigger -AtLogOn -User Domain01\Admin01
To polecenie tworzy wyzwalacz zadania, aby uruchomić zaplanowane zadanie za każdym razem, gdy administrator domeny zaloguje się na komputerze.
Przykład 5. Użycie losowego opóźnienia
W tym przykładzie zostanie utworzony nowy wyzwalacz zadania z losowym opóźnieniem przedziału czasu.
New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
To polecenie tworzy wyzwalacz zadania, aby uruchomić zaplanowane zadanie codziennie o godzinie 1:00 rano. Polecenie używa parametru RandomDelay , aby ustawić maksymalne opóźnienie na 20 minut. W związku z tym zadanie jest uruchamiane codziennie od 1:00 do 1:20, a interwał różni się pseudolosowo.
Do próbkowania, równoważenia obciążenia i innych zadań administracyjnych można użyć losowego opóźnienia. Podczas ustawiania wartości opóźnienia przejrzyj obowiązujące i domyślne wartości New-ScheduledJobOption
polecenia cmdlet i koordynuj opóźnienie przy użyciu ustawień opcji.
Przykład 6. Tworzenie wyzwalacza zadania dla nowego zaplanowanego zadania
W tym przykładzie użyto wyzwalacza zadania w celu utworzenia nowego zaplanowanego zadania.
$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t
Pierwsze polecenie używa New-JobTrigger
polecenia cmdlet do utworzenia wyzwalacza zadania, który uruchamia zadanie co poniedziałek, środę i piątek o godzinie 12:01. Polecenie zapisuje wyzwalacz zadania w zmiennej $t
.
Drugie polecenie używa Register-ScheduledJob
polecenia cmdlet do utworzenia zaplanowanego zadania, które uruchamia zadanie co poniedziałek, środę i piątek o godzinie 12:01. Wartość parametru Wyzwalacz jest wyzwalaczem przechowywanym w zmiennej $t
.
Przykład 7. Dodawanie wyzwalacza zadania do zaplanowanego zadania
W tym przykładzie pokazano, jak dodać wyzwalacz zadania do istniejącego zaplanowanego zadania.
Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
Do dowolnego zaplanowanego zadania można dodać wiele wyzwalaczy zadania.
Polecenie używa Add-JobTrigger
polecenia cmdlet , aby dodać wyzwalacz zadania do zaplanowanego zadania SyncApps . Wartość parametru Trigger jest poleceniem New-JobTrigger
, które uruchamia zadanie codziennie o godzinie 3:10.
Po zakończeniu wykonywania polecenia SyncApps jest zaplanowanym zadaniem, które jest uruchamiane w czasie określonym przez wyzwalacz zadania.
Przykład 8. Tworzenie wyzwalacza powtarzającego się zadania
W tym przykładzie tworzony jest wyzwalacz powtarzania zadania, który będzie uruchamiany tylko przez określony czas.
New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
To polecenie tworzy wyzwalacz zadania, który uruchamia zadanie co 60 minut przez 48 godzin od 12 września 2013 o godzinie 1:00.
Przykład 9. Zatrzymanie powtarzającego się wyzwalacza zadania
W tym przykładzie zatrzymany jest wyzwalacz powtarzanego zadania.
Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
To polecenie wymusza zatrzymanie zadania securityCheck , które jest wyzwalane co 60 minut, aż jego wyzwalacz zadania wygaśnie.
Aby zapobiec powtarzaniu zadania, polecenie używa Get-JobTrigger
polecenia , aby uzyskać wyzwalacz zadania zadania SecurityCheck i Set-JobTrigger
polecenie cmdlet, aby zmienić interwał powtórzeń i czas trwania powtórzeń wyzwalacza zadania na zero (0
).
Przykład 10: Tworzenie wyzwalacza zadania godzinowego
W tym przykładzie tworzony jest wyzwalacz powtarzania zadania, który jest uruchamiany w nieskończoność.
New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
Następujące polecenie tworzy wyzwalacz zadania, który uruchamia zaplanowane zadanie co 12 godzin przez nieokreślony czas. Harmonogram rozpoczyna się jutro (21.09.2012) o północy (0:00).
Parametry
-At
Uruchamia zadanie o określonej dacie i godzinie. Wprowadź obiekt DateTime, taki jak obiekt zwracany przez Get-Date
polecenie cmdlet lub ciąg, który można przekonwertować na datę i godzinę, na przykład April 19, 2012 15:00
, 12/31
lub 3am
. Jeśli nie określisz elementu daty, takiego jak rok, data w wyzwalaczu ma odpowiedni element z bieżącej daty.
W przypadku używania parametru Raz ustaw wartość parametru At na przyszłą datę i godzinę. Ponieważ domyślna data w obiekcie DateTime to bieżąca data, jeśli określisz godzinę przed bieżącą godziną bez jawnej daty, wyzwalacz zadania zostanie utworzony dla godziny w przeszłości.
Obiekty DateTime i ciągi konwertowane na obiekty DateTime są automatycznie dostosowywane tak, aby były zgodne z formatami daty i godziny wybranymi dla komputera lokalnego w regionie i języku w Panel sterowania.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtLogOn
Uruchamia zaplanowane zadanie, gdy określeni użytkownicy logują się na komputerze. Aby określić użytkownika, użyj parametru Użytkownik .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AtStartup
Uruchamia zaplanowane zadanie po uruchomieniu systemu Windows.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Daily
Określa cykliczny harmonogram codziennych zadań. Użyj innych parametrów w ustawieniu parametru Daily , aby określić szczegóły harmonogramu.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysInterval
Określa liczbę dni między wystąpieniami zgodnie z harmonogramem dziennym. Na przykład wartość uruchamia 3
zaplanowane zadanie w dniach 1
, 4
7
itd. Domyślna wartość to 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DaysOfWeek
Określa dni tygodnia, w których jest uruchamiane cotygodniowe zaplanowane zadanie. Wprowadź nazwy dni, takie jak Monday
lub liczby całkowite6
0
-, gdzie 0
reprezentuje niedzielę. Ten parametr jest wymagany w zestawie parametrów Weekly .
Nazwy dni są konwertowane na ich wartości całkowite w wyzwalaczu zadania. Po ujęciu nazw dni w cudzysłowie w poleceniu należy umieścić nazwę każdego dnia w oddzielnych cudzysłowach, takich jak "Monday", "Tuesday"
. Jeśli ujęta jest wiele nazw dni w jednej parze cudzysłowów, zostaną zsumowane odpowiadające im wartości całkowite. Na przykład "Monday, Tuesday"
(1 + 2
) powoduje zwrócenie wartości 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
Określa niecykliczny (jednorazowy) lub niestandardowy harmonogram powtarzania. Aby utworzyć harmonogram powtarzania, użyj parametru Once z parametrami RepeatDuration i RepeatInterval .
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RandomDelay
Włącza losowe opóźnienie rozpoczynające się w zaplanowanym czasie rozpoczęcia i ustawia maksymalną wartość opóźnienia.
Długość opóźnienia jest ustawiana pseudolosowo dla każdego początku i różni się od braku opóźnienia do czasu określonego przez wartość tego parametru. Wartość domyślna, zero (00:00:00
), wyłącza losowe opóźnienie.
Wprowadź obiekt przedziału czasu, taki jak jeden zwrócony przez New-TimeSpan
polecenie cmdlet, lub wprowadź wartość w <hours>:<minutes>:<seconds>
formacie, który jest automatycznie konwertowany na obiekt TimeSpan .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepeatIndefinitely
Ten parametr, dostępny począwszy od programu Windows PowerShell 4.0, eliminuje konieczność określenia wartości TimeSpan.MaxValue parametru RepetitionDuration do wielokrotnego uruchamiania zaplanowanego zadania przez nieokreślony okres.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionDuration
Powtarza zadanie do momentu wygaśnięcia określonego czasu. Częstotliwość powtórzeń jest określana przez wartość parametru RepetitionInterval . Jeśli na przykład wartość RepetitionInterval wynosi 5 minut, a wartość PowtórzenieDuration wynosi 2 godziny, zadanie jest wyzwalane co pięć minut przez dwie godziny.
Wprowadź obiekt przedziału czasu, taki jak obiekt, który New-TimeSpan
polecenie cmdlet zwraca lub ciąg, który można przekonwertować na obiekt przedziału czasu, taki jak 1:05:30
.
Aby uruchomić zadanie na czas nieokreślony, dodaj zamiast tego parametr RepeatIndefinitely .
Aby zatrzymać zadanie przed wygaśnięciem czasu trwania powtórzenia wyzwalacza zadania, użyj Set-JobTrigger
polecenia cmdlet , aby ustawić wartość PowtarzanieDuration na zero (0
).
Ten parametr jest prawidłowy tylko wtedy, gdy w poleceniu są używane parametry Raz, At i RepetitionInterval .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepetitionInterval
Powtarza zadanie w określonym interwale czasu. Jeśli na przykład wartość tego parametru wynosi 2 godziny, zadanie jest wyzwalane co dwie godziny. Wartość domyślna , 0
nie powtarza zadania.
Wprowadź obiekt przedziału czasu, taki jak obiekt, który New-TimeSpan
polecenie cmdlet zwraca lub ciąg, który można przekonwertować na obiekt przedziału czasu, taki jak 1:05:30
.
Ten parametr jest prawidłowy tylko wtedy, gdy w poleceniu są używane parametry Raz, At i PowtórzeniaDuration .
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-User
Określa użytkowników, którzy wyzwalają początek zaplanowanego zadania AtLogon . Wprowadź nazwę użytkownika w <UserName>
formacie lub <Domain\Username>
wprowadź gwiazdkę (*
), aby reprezentować wszystkich użytkowników. Wartość domyślna to wszyscy użytkownicy.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Weekly
Określa cykliczny cotygodniowy harmonogram zadań. Użyj innych parametrów w zestawie parametrów Weekly , aby określić szczegóły harmonogramu.
Type: | SwitchParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WeeksInterval
Określa liczbę tygodni między wystąpieniami w cotygodniowym harmonogramie zadań. Na przykład wartość uruchamia 3
zaplanowane zadanie w tygodniach 1
, 4
7
itd. Domyślna wartość to 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt ScheduledJobTrigger reprezentujący utworzony wyzwalacz.
Uwagi
Wyzwalacze zadań nie są zapisywane na dysku. Jednak zaplanowane zadania są zapisywane na dysku i można użyć
Get-JobTrigger
polecenia , aby uzyskać wyzwalacz zadania dowolnego zaplanowanego zadania.New-JobTrigger
Nie zapobiega tworzeniu wyzwalacza zadania, który nie będzie uruchamiał zaplanowanego zadania, takiego jak jednorazowy wyzwalacz daty w przeszłości.Polecenie
Register-ScheduledJob
cmdlet akceptuje obiekt ScheduledJobTrigger , taki jak obiekt zwracany przezNew-JobTrigger
polecenia cmdlet lubGet-JobTrigger
lub tabelę skrótów z wartościami wyzwalacza.Aby przesłać tabelę skrótów, użyj następujących kluczy.
- Częstotliwość:
Once
, ,Weekly
Daily
,AtStartup
lubAtLogon
- O: dowolny prawidłowy ciąg czasu, taki jak
3am
- DaysOfWeek: dowolna kombinacja nazw dni jako ciągów, takich jak
"Monday", "Wednesday"
- Interwał: dowolny prawidłowy interwał częstotliwości jako liczba całkowita
- RandomDelay: dowolny prawidłowy ciąg przedziału czasu, taki jak
30minutes
- Użytkownik: dowolny prawidłowy użytkownik, taki jak
Domain1\User01
; używany tylko z wartością częstotliwości AtLogon
- Częstotliwość:
Linki powiązane
- 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