Freigeben über


New-JobTrigger

Erstellt einen Auftragstrigger für einen geplanten Auftrag.

Syntax

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>]

Beschreibung

Das New-JobTrigger Cmdlet erstellt einen Auftragstrigger, der einen geplanten Auftrag in einem einmaligen oder wiederkehrenden Zeitplan startet oder wenn ein Ereignis auftritt.

Sie können das ScheduledJobTrigger-Objekt verwenden, das zurückgibt, New-JobTrigger um einen Auftragstrigger für einen neuen oder vorhandenen geplanten Auftrag festzulegen. Sie können auch einen Auftragstrigger mit dem Get-JobTrigger Cmdlet erstellen, um den Auftragstrigger eines vorhandenen geplanten Auftrags abzurufen, oder mit einem Hashtabellenwert, der einen Auftragstrigger darstellt.

Überprüfen Sie beim Erstellen eines Auftragstriggers die Standardwerte der vom New-ScheduledJobOption Cmdlet angegebenen Optionen. Diese Optionen, die die gleichen gültigen und Standardwerte wie die entsprechenden Optionen im Vorgangszeitplaner aufweisen, wirken sich auf die Planung und die Zeitplanung von geplanten Aufträgen aus.

New-JobTrigger ist eine Sammlung von Auftragsplanungs-Cmdlets im PSScheduledJob-Modul, das in Windows PowerShell enthalten ist.

Weitere Informationen zu geplanten Aufträgen finden Sie unter den Info-Themen im PSScheduledJob-Modul. Importieren Sie das PSScheduledJob-Modul, und geben Sie dann Folgendes ein: Get-Help about_Scheduled* oder lesen Sie about_Scheduled_Jobs.

Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.

Beispiele

Beispiel 1: Nach Zeitplan

In diesem Beispiel wird ein Auftragstrigger erstellt, um einen geplanten Auftrag nur einmal zu starten.

New-JobTrigger -Once -At "1/20/2012 3:00 AM"

Das New-JobTrigger Cmdlet zum Erstellen eines Auftragstriggers, der einen geplanten Auftrag nur einmal startet. Der Wert des At-Parameters ist eine Zeichenfolge, die Windows PowerShell in ein DateTime-Objekt konvertiert.

Der Parameterwert "At " enthält ein explizites Datum, nicht nur eine Uhrzeit. Würde das Datum weggelassen, würde der Trigger mit dem aktuellen Datum und der Uhrzeit 3:00 Uhr erstellt, was wahrscheinlich einem Zeitpunkt in der Vergangenheit entspricht.

Beispiel 2: Täglicher Zeitplan

In diesem Beispiel wird ein neuer Auftragsauslöser erstellt, um jeden dritten Tag einen geplanten Auftrag zu starten.

New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3

Dieser Befehl erstellt einen Auftragstrigger, der einen geplanten Auftrag alle 3 Tage um 4:15 Uhr startet.

Da der Wert des Parameters "At " kein Datum enthält, wird das aktuelle Datum als Datumswert im DateTime-Objekt verwendet. Wenn sich das Datum und die Uhrzeit in der Vergangenheit befindet, wird der geplante Auftrag am nächsten Vorkommen gestartet, was 3 Tage später vom Parameterwert "At " liegt.

Beispiel 3: Wöchentlicher Zeitplan

In diesem Beispiel wird ein Auftragstrigger erstellt, der jeden vierten Woche an bestimmten Wochentagen einen geplanten Auftrag startet.

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

Dieser Befehl erstellt einen Auftragsauslöser, um einen geplanten Auftrag am Montag, Mittwoch und Freitag um 2300 Stunden (11:00 Uhr) alle 4 Wochen zu starten.

Sie können auch den DaysOfWeek-Parameterwert in ganze Zahlen eingeben, z -DaysOfWeek 1, 5. B. .

Beispiel 4: Anmeldezeitplan

In diesem Beispiel wird ein Auftragstrigger erstellt, um einen geplanten Auftrag bei der Anmeldung eines bestimmten Benutzers zu starten.

New-JobTrigger -AtLogOn -User Domain01\Admin01

Dieser Befehl erstellt einen Auftragstrigger, um einen geplanten Auftrag zu starten, wenn sich der Administrator auf dem Computer anmeldet Standard.

Beispiel 5: Verwenden einer zufälligen Verzögerung

In diesem Beispiel wird ein neuer Auftragsauslöser mit einer zufälligen Verzögerungsspanne erstellt.

New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00

Dieser Befehl erstellt einen Auftragsauslöser, um jeden Tag um 1:00 Uhr morgens einen geplanten Auftrag zu starten. Der Befehl verwendet den RandomDelay-Parameter , um die maximale Verzögerung auf 20 Minuten festzulegen. Folglich wird der Auftrag täglich zwischen 1:00 Uhr und 1:20 Uhr ausgeführt, während das Intervall nach dem Pseudozufallsprinzip variiert.

Sie können eine zufällige Verzögerung für das Sampling, den Lastenausgleich und andere Verwaltungsaufgaben verwenden. Überprüfen Sie beim Festlegen des Verzögerungswerts die effektiven und Standardwerte des New-ScheduledJobOption Cmdlets, und koordinieren Sie die Verzögerung mit den Optionseinstellungen.

Beispiel 6: Erstellen eines Auftragstriggers für einen neuen geplanten Auftrag

In diesem Beispiel wird ein Auftragstrigger verwendet, um einen neuen geplanten Auftrag zu erstellen.

$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t

Der erste Befehl verwendet das New-JobTrigger Cmdlet zum Erstellen eines Auftragstriggers, der jeden Montag, Mittwoch und Freitag um 12:01 Uhr einen Auftrag startet. Der Befehl speichert den Auftragstrigger in der $t Variablen.

Der zweite Befehl verwendet das Register-ScheduledJob Cmdlet, um einen geplanten Auftrag zu erstellen, der jeden Montag, Mittwoch und Freitag um 12:01 Uhr einen Auftrag startet. Der Wert des Trigger-Parameters ist der Trigger, der in der $t Variablen gespeichert ist.

Beispiel 7: Hinzufügen eines Auftragstriggers zu einem geplanten Auftrag

In diesem Beispiel wird veranschaulicht, wie einem vorhandenen geplanten Auftrag ein Auftragstrigger hinzugefügt wird.

Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)

Sie können einem geplanten Auftrag mehrere Auftragstrigger hinzufügen.

Der Befehl verwendet das Add-JobTrigger Cmdlet, um den Auftragstrigger dem geplanten Auftrag SynchronizeApps hinzuzufügen. Der Wert des Trigger-Parameters ist ein New-JobTrigger Befehl, der den Auftrag täglich um 3:10 Uhr ausführt.

Wenn der Befehl abgeschlossen ist, ist SynchronizeApps ein geplanter Auftrag, der zu den vom Auftragstrigger angegebenen Zeiten ausgeführt wird.

Beispiel 8: Erstellen eines Wiederholten Auftragstriggers

In diesem Beispiel wird ein wiederholter Auftragsauslöser erstellt, der nur für einen bestimmten Zeitraum ausgeführt werden soll.

New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)

Dieser Befehl erstellt einen Auftragstrigger, der alle 60 Minuten für 48 Stunden ab dem 12. September 2013 um 1:00 Uhr einen Auftrag ausführt.

Beispiel 9: Beenden eines Wiederholten Auftragstriggers

In diesem Beispiel wird ein Wiederholter Auftragsauslöser beendet.

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

Dieser Befehl stoppt den SecurityCheck-Auftrag, der alle 60 Minuten ausgeführt wird, bis der Auftragsauslöser abläuft.

Um zu verhindern, dass der Auftrag wiederholt wird, verwendet der Befehl den Get-JobTrigger Auftragstrigger des SecurityCheck-Auftrags und das Set-JobTrigger Cmdlet, um das Wiederholungsintervall und die Wiederholungsdauer des Auftragstriggers in Null (0) zu ändern.

Beispiel 10: Erstellen eines Stündungsauftragsauslöser

In diesem Beispiel wird ein wiederholter Auftragsauslöser erstellt, der unbegrenzt ausgeführt wird.

New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)

Der folgende Befehl erstellt einen Auftragstrigger, der einen geplanten Auftrag für eine unbestimmte Dauer alle 12 Stunden einmal ausführt. Der Zeitplan beginnt am nächsten Tag (21.09.2012) um Mitternacht (00:00 Uhr).

Parameter

-At

Startet den Auftrag zum angegebenen Datum und zur angegebenen Uhrzeit. Geben Sie ein DateTime-Objekt ein, z. B. ein Objekt, das das Get-Date Cmdlet zurückgibt, oder eine Zeichenfolge, die in ein Datum und eine Uhrzeit konvertiert werden kann, z April 19, 2012 15:00. B. , 12/31oder 3am. Wenn Sie kein Datumselement, z. B. das Jahr, angeben, entspricht das Datum im Trigger dem jeweiligen Element aus dem aktuellen Datum.

Wenn Sie den Parameter Once verwenden, legen Sie den Wert des Parameters "At " auf ein zukünftiges Datum und eine zukünftige Uhrzeit fest. Da das Standarddatum in einem DateTime-Objekt das aktuelle Datum ist, wenn Sie eine Uhrzeit vor der aktuellen Uhrzeit ohne explizites Datum angeben, wird der Auftragstrigger für eine Uhrzeit in der Vergangenheit erstellt.

DateTime-Objekte und Zeichenfolgen, die in DateTime-Objekte konvertiert werden, werden automatisch so angepasst, dass sie mit den Datums- und Uhrzeitformaten kompatibel sind, die für den lokalen Computer in Region und Sprache in Systemsteuerung ausgewählt sind.

Type:DateTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AtLogOn

Startet den geplanten Auftrag, wenn sich die angegebenen Benutzer beim Computer anmelden. Verwenden Sie den Parameter "User ", um einen Benutzer anzugeben.

Type:SwitchParameter
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AtStartup

Startet den geplanten Auftrag beim Start von Windows.

Type:SwitchParameter
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Daily

Gibt einen täglichen Wiederholungszeitplan für Aufträge an. Verwenden Sie die anderen Parameter im Parameter "Daily ", um die Zeitplandetails anzugeben.

Type:SwitchParameter
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DaysInterval

Gibt die Anzahl der Tage zwischen den Ausführungen in einem täglichen Zeitplan an. Beispielsweise beginnt ein Wert des 3 geplanten Auftrags an Tagen 1, 47 usw. Der Standardwert ist 1.

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

-DaysOfWeek

Gibt die Wochentage an, an denen ein wöchentlicher geplanter Auftrag ausgeführt wird. Geben Sie Tagnamen einMonday, z. B. ganze Zahlen60-, wobei 0 "Sonntag" steht. Dieser Parameter ist im Wochenparametersatz erforderlich.

Namen von Tagen werden im Auftragstrigger in ihre ganzzahligen Werte konvertiert. Wenn Sie Tagnamen in Anführungszeichen in einen Befehl einschließen, schließen Sie jeden Tagnamen in separate Anführungszeichen ein, z "Monday", "Tuesday". B. . Wenn Sie mehrere Namen von Wochentagen in ein Paar von Anführungszeichen einschließen, werden die entsprechenden ganzzahligen Werte addiert. (1 + 2) führt z. B "Monday, Tuesday" . zu einem Wert von 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

Gibt einen nicht wiederkehrenden (einmaligen) Zeitplan oder benutzerdefinierten Wiederholungszeitplan an. Verwenden Sie zum Erstellen eines wiederholten Zeitplans den Parameter "Once" mit den Parametern "RepeatDuration " und "RepeatInterval" .

Type:SwitchParameter
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RandomDelay

Ermöglicht eine zufällige Verzögerung, die zur geplanten Startzeit beginnt, und legt den Wert für die maximale Verzögerung fest. Die Länge der Verzögerung wird nach dem Pseudozufallsprinzip für jeden Start festgelegt und variiert von keiner Verzögerung bis zu der durch den Wert dieses Parameters angegebenen Dauer. Der Standardwert Null (00:00:00), deaktiviert die zufällige Verzögerung.

Geben Sie ein Timepan-Objekt ein, z. B. ein vom Cmdlet zurückgegebenes New-TimeSpan Objekt, oder geben Sie einen Wert im <hours>:<minutes>:<seconds> Format ein, der automatisch in ein TimeSpan-Objekt konvertiert wird.

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

-RepeatIndefinitely

Dieser Parameter, der ab Windows PowerShell 4.0 verfügbar ist, beseitigt die Notwendigkeit, einen TimeSpan.MaxValue-Wert für den Parameter "RepetitionDuration " anzugeben, um einen geplanten Auftrag wiederholt für einen unbegrenzten Zeitraum auszuführen.

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

-RepetitionDuration

Wiederholt den Auftrag, bis die angegebene Zeit abgelaufen ist. Die Wiederholungshäufigkeit wird durch den Wert des Parameters "RepetitionInterval " bestimmt. Wenn der Wert von "RepetitionInterval " beispielsweise 5 Minuten beträgt und der Wert der Wiederholungsduration 2 Stunden beträgt, wird der Auftrag alle fünf Minuten für zwei Stunden ausgelöst.

Geben Sie ein Timespan-Objekt ein, z. B. eines, das das New-TimeSpan Cmdlet zurückgibt, oder eine Zeichenfolge, die in ein Timespan-Objekt konvertiert werden kann, z 1:05:30. B. .

Wenn Sie einen Auftrag unbegrenzt ausführen möchten, fügen Sie stattdessen den Parameter "RepeatIndefinitely" hinzu.

Um einen Auftrag zu beenden, bevor die Wiederholungsdauer des Auftrags abläuft, verwenden Sie das Set-JobTrigger Cmdlet, um den Wiederholungswert auf Null (0) festzulegen.

Dieser Parameter ist nur gültig, wenn die Parameter "Once", "At" und "RepetitionInterval " im Befehl verwendet werden.

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

-RepetitionInterval

Wiederholt den Auftrag im angegebenen Zeitintervall. Wenn der Wert dieses Parameters 2 Stunden beträgt, wird der Auftrag z. B. alle zwei Stunden ausgelöst. Der Standardwert , 0wiederholt den Auftrag nicht.

Geben Sie ein Timespan-Objekt ein, z. B. eines, das das New-TimeSpan Cmdlet zurückgibt, oder eine Zeichenfolge, die in ein Timespan-Objekt konvertiert werden kann, z 1:05:30. B. .

Dieser Parameter ist nur gültig, wenn die Parameter "Once", "At" und "RepetitionDuration " im Befehl verwendet werden.

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

-User

Gibt die Benutzer an, die einen AtLogon-Start eines geplanten Auftrags auslösen. Geben Sie den Namen eines Benutzers in <UserName> oder <Domain\Username> formatieren oder ein Sternchen (*) ein, um alle Benutzer darzustellen. Der Standardwert entspricht allen Benutzern.

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

-Weekly

Gibt einen wöchentlichen Wiederholungszeitplan für Aufträge an. Verwenden Sie die anderen Parameter im Parameter "Wöchentlich ", um die Zeitplandetails anzugeben.

Type:SwitchParameter
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WeeksInterval

Gibt die Anzahl der Wochen zwischen den Ausführungen in einem wöchentlichen Auftragszeitplan an. Beispielsweise beginnt ein Wert des 3 geplanten Auftrags in Wochen 1, 4usw 7 . Der Standardwert ist 1.

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

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

ScheduledJobTrigger

Dieses Cmdlet gibt ein ScheduledJobTrigger -Objekt zurück, das den erstellten Trigger darstellt.

Hinweise

  • Auftragstrigger werden nicht auf dem Datenträger gespeichert. Geplante Aufträge werden jedoch auf dem Datenträger gespeichert, und Sie können den Get-JobTrigger Auftragstrigger für jeden geplanten Auftrag abrufen.

  • New-JobTrigger verhindert nicht, dass Sie einen Auftragstrigger erstellen, der keinen geplanten Auftrag ausführt, z. B. einmalauslöser für ein Datum in der Vergangenheit.

  • Das Register-ScheduledJob Cmdlet akzeptiert ein ScheduledJobTrigger-Objekt , z. B. ein Objekt, das von den New-JobTrigger Cmdlets Get-JobTrigger zurückgegeben wird, oder eine Hashtabelle mit Triggerwerten.

    Um eine Hashtabelle zu übermitteln, verwenden Sie die folgenden Schlüssel.

    • Häufigkeit: Once, , Daily, Weekly, AtStartupoder AtLogon
    • At: any valid time string, such as 3am
    • DaysOfWeek: eine beliebige Kombination von Tagnamen als Zeichenfolgen, z. B. "Monday", "Wednesday"
    • Intervall: beliebige gültige Häufigkeitsintervalle als ganze Zahl
    • RandomDelay: beliebige gültige Zeitbereichszeichenfolge, z. B. 30minutes
    • Benutzer: beliebiger gültiger Benutzer, z Domain1\User01. B. ; wird nur mit dem AtLogon-Häufigkeitswert verwendet.