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 cmdlet New-JobTrigger 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 polecenie New-JobTrigger powróci do ustawienia wyzwalacza zadania dla nowego lub istniejącego zaplanowanego zadania. Wyzwalacz zadania można również utworzyć przy użyciu polecenia cmdlet Get-JobTrigger, aby uzyskać wyzwalacz zadania istniejącego zaplanowanego zadania lub używając wartości tabeli skrótu do reprezentowania wyzwalacza zadania.
Podczas tworzenia wyzwalacza zadania przejrzyj wartości domyślne opcji określonych przez polecenie cmdlet New-ScheduledJobOption. Te opcje, które mają te same prawidłowe i domyślne wartości co odpowiednie opcje w Harmonogram zadań, wpływają na planowanie i harmonogram zaplanowanych zadań.
new-JobTrigger jest jedną z kolekcji poleceń cmdlet planowania zadań w module PSScheduledJob, który jest zawarty 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
PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"
To polecenie używa polecenia cmdlet New-JobTrigger, aby utworzyć wyzwalacz zadania, który uruchamia zaplanowane zadanie tylko raz. Wartość parametru At to ciąg, który program Windows PowerShell konwertuje na obiekt DateTime. Wartość parametru At 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
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
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
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
To polecenie tworzy wyzwalacz zadania, który uruchamia zaplanowane zadanie co 4 tygodnie w poniedziałek, środę i piątek o 2300 godzin (11:00 PM).
Możesz również wprowadzić DaysOfWeek wartość parametru w liczbach całkowitych, takich jak -DaysOfWeek 1, 5
.
Przykład 4. Harmonogram logowania
PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01
To polecenie tworzy wyzwalacz zadania, który uruchamia zaplanowane zadanie za każdym razem, gdy administrator domeny zaloguje się na komputerze.
Przykład 5. Użycie losowego opóźnienia
PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
To polecenie tworzy wyzwalacz zadania, który uruchamia 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 polecenia cmdlet New-ScheduledJobOption i koordynuj opóźnienie z ustawieniami opcji.
Przykład 6. Tworzenie wyzwalacza zadania dla nowego zaplanowanego zadania
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
Te polecenia używają wyzwalacza zadania do utworzenia nowego zaplanowanego zadania.
Przykład 7. Dodawanie wyzwalacza zadania do zaplanowanego zadania
PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
W tym przykładzie pokazano, jak dodać wyzwalacz zadania do istniejącego zaplanowanego zadania. Do dowolnego zaplanowanego zadania można dodać wiele wyzwalaczy zadania.
Polecenie używa polecenia cmdlet Add-JobTrigger, aby dodać wyzwalacz zadania do zaplanowanego zadania SyncApps.
Wartość parametru
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
PS C:\> 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
PS C:\> 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, aby uzyskać wyzwalacz zadania SecurityCheck oraz polecenie cmdlet Set-JobTrigger, aby zmienić interwał powtórzeń i czas trwania powtórzeń wyzwalacza zadania na zero (0).
Przykład 10: Tworzenie wyzwalacza zadania godzinowego
PS C:\> 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, który zwraca polecenie cmdlet Get-Date, lub ciąg, który można przekonwertować na datę i godzinę, na przykład "19 kwietnia 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 jest bieżącą datą, jeśli określisz godzinę przed bieżącą godziną bez jawnej daty, wyzwalacz zadania jest tworzony przez godzinę w przeszłości.
obiektów DateTime i ciągów, które są 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 Panelu sterowania.
Typ: | DateTime |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AtLogOn
Uruchamia zaplanowane zadanie, gdy określeni użytkownicy logują się na komputerze. Aby określić użytkownika, użyj parametru User.
Typ: | SwitchParameter |
Position: | 0 |
Domyślna wartość: | False |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AtStartup
Uruchamia zaplanowane zadanie po uruchomieniu systemu Windows.
Typ: | SwitchParameter |
Position: | 0 |
Domyślna wartość: | False |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Daily
Określa cykliczny harmonogram codziennych zadań. Użyj innych parametrów w parametrze Daily ustawionym, aby określić szczegóły harmonogramu.
Typ: | SwitchParameter |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DaysInterval
Określa liczbę dni między wystąpieniami zgodnie z harmonogramem dziennym. Na przykład wartość 3 uruchamia zaplanowane zadanie w dniach 1, 4, 7 itd. Wartość domyślna to 1.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | 1 |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DaysOfWeek
Określa dni tygodnia, w których jest uruchamiane cotygodniowe zaplanowane zadanie. Wprowadź nazwy dni, takie jak "poniedziałek" lub liczba całkowita 0–6, 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 ująć nazwę każdego dnia w oddzielnych cudzysłowach, takich jak "poniedziałek", "wtorek". 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 "poniedziałek, wtorek" (1, 2) powoduje wyświetlenie wartości "Środa" (3).
Typ: | DayOfWeek[] |
Dopuszczalne wartości: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Once
Określa niecykliczny (jednorazowy) lub niestandardowy harmonogram powtarzania. Aby utworzyć harmonogram powtarzania, użyj parametru Once z parametrem RepeatDuration i parametrami RepeatInterval.
Typ: | SwitchParameter |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 polecenie cmdlet New-TimeSpan, lub wprowadź wartość w <godzinach>:<minuty>:<sekundy> format, który jest automatycznie konwertowany na obiekt TimeSpan.
Typ: | TimeSpan |
Position: | Named |
Domyślna wartość: | 00:00:00 |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-RepeatIndefinitely
Ten parametr, dostępny począwszy od programu Windows PowerShell 4.0, eliminuje konieczność określenia wartości
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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ść RepetitionDuration wynosi 2 godziny, zadanie jest wyzwalane co pięć minut przez dwie godziny.
Wprowadź obiekt przedziału czasu, na przykład taki, który polecenie cmdlet New-TimeSpan 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, zamiast tego dodaj parametr RepeatIndefinitely.
Aby zatrzymać zadanie przed wygaśnięciem czasu trwania powtórzenia wyzwalacza zadania, użyj polecenia cmdlet Set-JobTrigger, aby ustawić wartość RepetitionDuration na zero (0).
Ten parametr jest prawidłowy tylko wtedy, gdy parametr Raz, At i RepetitionInterval parametrów są używane w poleceniu .
Typ: | TimeSpan |
Position: | Named |
Domyślna wartość: | 0 |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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, na przykład taki, który polecenie cmdlet New-TimeSpan 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 parametr Raz, Ati PowtarzanieDuration parametrów są używane w poleceniu .
Typ: | TimeSpan |
Position: | Named |
Domyślna wartość: | 0 |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-User
Określa użytkowników, którzy wyzwalają AtLogon rozpoczęcie zaplanowanego zadania. Wprowadź nazwę użytkownika w formacie <UserName> lub <Domain\Username> lub wprowadź gwiazdkę (*) reprezentującą wszystkich użytkowników. Wartość domyślna to wszyscy użytkownicy.
Typ: | String |
Position: | Named |
Domyślna wartość: | All users |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Weekly
Określa cykliczny cotygodniowy harmonogram zadań. Użyj innych parametrów w zestawie parametrów Weekly, aby określić szczegóły harmonogramu.
Typ: | SwitchParameter |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WeeksInterval
Określa liczbę tygodni między wystąpieniami w cotygodniowym harmonogramie zadań. Na przykład wartość 3 uruchamia zaplanowane zadanie w tygodniach 1, 4, 7 itd. Wartość domyślna to 1.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | 1 |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.
Dane wyjściowe
Uwagi
Wyzwalacze zadań nie są zapisywane na dysku. Jednak zaplanowane zadania są zapisywane na dysku i można użyć Get-JobTrigger, aby uzyskać wyzwalacz zadania dowolnego zaplanowanego zadania.
New-JobTrigger nie uniemożliwia utworzenia wyzwalacza zadania, który nie będzie uruchamiał zaplanowanego zadania, takiego jak wyzwalacz jednorazowy dla daty w przeszłości.
Polecenie cmdlet Register-ScheduledJob akceptuje obiekt ScheduledJobTrigger, taki jak obiekt New-JobTrigger lub Get-JobTrigger polecenia cmdlet lub tabela skrótów z wartościami wyzwalacza.
Aby przesłać tabelę skrótów, użyj następujących kluczy.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(lub dowolny prawidłowy ciąg czasu);DaysOfWeek="Monday", "Wednesday"
(lub dowolna kombinacja nazw dni);Interval=2
(lub dowolny prawidłowy interwał częstotliwości);RandomDelay="30minutes"
(lub dowolny prawidłowy ciąg przedziału czasu);User="Domain1\User01
(lub dowolny prawidłowy użytkownik; używany tylko z wartością częstotliwości AtLogon) }
Linki powiązane
- 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