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 jednorazowym lub cyklicznym harmonogramie lub w przypadku wystąpienia zdarzenia.

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 z wartością tabeli skrótu reprezentującą 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-JobTriggerjest jedną z kolekcji poleceń cmdlet planowania zadań w module PSScheduledJob, który znajduje się w Windows PowerShell.

Aby uzyskać więcej informacji na temat zaplanowanych zadań, zobacz Tematy o tematach 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 Windows PowerShell 3.0.

Przykłady

Przykład 1: Po zaplanowaniu

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 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ć czas w przeszłości.

Przykład 2: Harmonogram dzienny

W tym przykładzie tworzony jest nowy wyzwalacz zadania w celu uruchamiania 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 tworzony jest 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 tworzony jest 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 codziennie uruchamiać zaplanowane zadanie 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 między godziną 1:00 a 1:20, a interwał różni się pseudolosowo.

Możesz użyć losowego opóźnienia do próbkowania, równoważenia obciążenia i innych zadań administracyjnych. Podczas ustawiania wartości opóźnienia przejrzyj obowiązujące i domyślne wartości New-ScheduledJobOption polecenia cmdlet i koordynuj opóźnienie z ustawieniami opcji.

Przykład 6. Tworzenie wyzwalacza zadania dla nowego zaplanowanego zadania

W tym przykładzie użyto wyzwalacza zadania do 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 zadań.

Polecenie używa Add-JobTrigger polecenia cmdlet , aby dodać wyzwalacz zadania do zaplanowanego zadania SynchronizeApps . 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 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, począwszy od 12 września 2013 r. o godzinie 1:00.

Przykład 9: Zatrzymywanie wyzwalacza powtarzającego się zadania

W tym przykładzie zatrzymany jest wyzwalacz powtarzania zadania.

Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00

To polecenie wymusza zatrzymanie zadania SecurityCheck , które jest wyzwalane do uruchomienia co 60 minut, aż jego wyzwalacz zadania wygaśnie.

Aby zapobiec powtarzaniu zadania, polecenie używa Get-JobTrigger polecenia , aby pobrać wyzwalacz zadania z zadania SecurityCheck i Set-JobTrigger polecenie cmdlet, aby zmienić interwał powtarzania i czas trwania powtórzenia 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 czas nieokreślony. 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/31lub 3am. Jeśli nie określisz elementu daty, takiego jak rok, data w wyzwalaczu będzie zawierać odpowiedni element z bieżącej daty.

W przypadku korzystania z parametru Once 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 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
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
Accept pipeline input:False
Accept wildcard characters:False
-AtStartup

Uruchamia zaplanowane zadanie po uruchomieniu Windows.

Type:SwitchParameter
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Co tydzień

Określa cykliczny tygodniowy harmonogram zadań. Użyj innych parametrów w zestawie parametrów Co tydzień , aby określić szczegóły harmonogramu.

Type:SwitchParameter
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Codziennie

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
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ść 3 uruchamia zaplanowane zadanie w dniach 1, 4``7 itd. Wartość domyślna to 1.

Type:Int32
Position:Named
Default value:None
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łów w poleceniu należy ująć nazwę każdego dnia w osobne cudzysłowy, takie jak "Monday", "Tuesday". W przypadku ujęć wiele dni nazw w parze z pojedynczym znakiem cudzysłowu, odpowiednie wartości całkowite są sumowane. Na przykład "Monday, Tuesday" (1 + 2) powoduje wartość Wednesday (3).

Type:DayOfWeek[]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PowtarzanieInterval

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 , 0nie 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, na przykład 1:05:30.

Ten parametr jest prawidłowy tylko wtedy, gdy w poleceniu są używane parametry Raz, At i PowtarzanieDuration .

Type:TimeSpan
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PowtórzenieDuration

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ść PowtarzanieDuration 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, na przykład 1:05:30.

Aby uruchomić zadanie na czas nieokreślony, dodaj zamiast tego parametr RepeatIndefinitely .

Aby zatrzymać zadanie przed wygaśnięciem czasu 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
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 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
Accept pipeline input:False
Accept wildcard characters:False
-Raz

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
Accept pipeline input:False
Accept wildcard characters:False
-RepeatIndefinitely

Ten parametr, dostępny od Windows PowerShell 4.0, eliminuje konieczność określenia wartości TimeSpan.MaxValue dla parametru RepetitionDuration do wielokrotnego uruchamiania zaplanowanego zadania przez nieokreślony okres.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-User

Określa użytkowników, którzy wyzwalają rozpoczęcie 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
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ść 3 rozpoczyna zaplanowane zadanie w tygodniach 1, 4itd 7 . Wartość domyślna to 1.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

Brak

Nie można przekazać potoku danych wejściowych do tego polecenia cmdlet.

Dane wyjściowe

Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger

Uwagi

  • Wyzwalacze zadań nie są zapisywane na dysku. Jednak zaplanowane zadania są zapisywane na dysku i można użyć polecenia Get-JobTrigger , aby uzyskać wyzwalacz zadania dowolnego zaplanowanego zadania.

  • New-JobTrigger Nie uniemożliwia tworzenia wyzwalacza zadania, który nie będzie uruchamiał zaplanowanego zadania, takiego jak wyzwalacz jednorazowy dla daty w przeszłości.

  • Polecenie Register-ScheduledJob cmdlet akceptuje obiekt ScheduledJobTrigger , taki jak jeden zwrócony przez New-JobTrigger polecenia cmdlet lub Get-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, , Daily, Weeklylub AtStartup``AtLogon
    • Na: dowolny prawidłowy ciąg czasu, taki jak 3am
    • DaysOfWeek: dowolna kombinacja nazw dni jako ciągów, takich jak ciągi "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