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 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/31lub 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, 47 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łkowite60-, 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 , 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, 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, 47 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

ScheduledJobTrigger

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 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, , WeeklyDaily, AtStartuplubAtLogon
    • 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