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 harmonogramie jednorazowym lub cyklicznym albo 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. Wyzwalacz zadania można również utworzyć za pomocą Get-JobTrigger polecenia cmdlet , aby pobrać 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 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 czas zaplanowanych zadań.

New-JobTriggerjest jedną z kolekcji poleceń cmdlet planowania zadań w module PSScheduledJob, który jest uwzględniony w Windows PowerShell.

Aby uzyskać więcej informacji na temat zaplanowanych zadań, zobacz temat Informacje w module PSScheduledJob. Zaimportuj moduł PSScheduledJob, a następnie wpisz polecenie: 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 zostanie utworzony 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 to ciąg, 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, co może reprezentować godzinę w przeszłości.

Przykład 2. Harmonogram dzienny

W tym przykładzie jest tworzony 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 z 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żywanie 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 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 z zakresu 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 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 uruchamiającego 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 SyncApps . Wartość parametru Trigger to New-JobTrigger polecenie uruchamiające zadanie codziennie o godzinie 3:10.

Po zakończeniu 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 r. o godzinie 1:00.

Przykład 9. Zatrzymanie wyzwalacza zadania powtarzającego się

W tym przykładzie zatrzymany jest wyzwalacz powtarzającego się 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 w celu pobrania wyzwalacza zadania zadania SecurityCheck i polecenia cmdlet w celu zmiany interwału powtórzeń i Set-JobTrigger czasu 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 na czas nieokreślony.

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 Get-Date zwracany przez polecenie cmdlet 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 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ę do komputera. 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 harmonogram zadań cotygodniowych. Użyj innych parametrów w zestawie parametrów Weekly, 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 "poniedziałek" lub liczba całkowita 0-6, gdzie 0 reprezentuje niedzielę. Ten parametr jest wymagany w zestawie parametrów Co tydzień.

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". W przypadku ujęć wiele nazw dni w parze pojedynczego cudzysłowu odpowiednie wartości całkowite są sumowane. Na przykład wartość "Poniedziałek, wtorek" (1, 2) powoduje wyświetlenie wartości "Środa" (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
-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ść Parametr PowtarzanieInterval wynosi 5 minut, a wartość parametru RepetitionDuration wynosi 2 godziny, zadanie jest wyzwalane co pięć minut przez dwie godziny.

Wprowadź obiekt przedziału czasu, taki jak ten, 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, zamiast tego dodaj parametr RepeatIndefinitely .

Aby zatrzymać zadanie przed wygaśnięciem czasu trwania powtórzenia 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
-PowtórzenieInterval

Powtarza zadanie w określonym przedziale 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 ten, 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 RepetitionDuration .

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 pseudo-losowo 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 New-TimeSpan czasu, taki jak jeden zwrócony przez 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 wersji Windows PowerShell 4.0, eliminuje konieczność określenia wartości TimeSpan.MaxValue parametru RepetitionDuration w celu wielokrotnego uruchamiania zaplanowanego zadania przez czas nieokreślony.

Type:SwitchParameter
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False
-WeeksInterval

Określa liczbę tygodni między wystąpieniami w harmonogramie zadań cotygodniowych. 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

Dane wejściowe

Brak

Nie można przekazać danych wejściowych potoku 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 za pomocą Get-JobTrigger polecenia można pobrać wyzwalacz zadania dowolnego zaplanowanego zadania.

  • New-JobTrigger Nie uniemożliwia utworzenia 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 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, , 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