Udostępnij za pośrednictwem


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 Trigger to polecenie 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

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 TimeSpan.MaxValue dla parametru RepetitionDuration, aby wielokrotnie uruchamiać zaplanowane zadanie przez nieokreślony okres.

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

ScheduledJobTrigger

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) }