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 Cmdlet New-JobTrigger erstellt einen Auftragstrigger, der einen geplanten Auftrag nach einem einmaligen oder wiederkehrenden Zeitplan oder beim Auftreten eines Ereignisses startet.

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

Überprüfen Sie beim Erstellen eines Auftragstriggers die Standardwerte der vom Cmdlet New-ScheduledJobOption angegebenen Optionen. Diese Optionen, die die gleichen gültigen und standardmäßigen Werte wie die entsprechenden Optionen im Task Scheduler aufweisen, wirken sich auf die zeitliche Planung und Steuerung geplanter Aufträge aus.

New-JobTrigger ist eine Sammlung von Cmdlets zur Auftragsplanung 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: Einmaliger Zeitplan

PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"

Dieser Befehl verwendet das New-JobTrigger-Cmdlet, um einen Auftragstrigger zu erstellen, der einen geplanten Auftrag nur einmal startet. Der Wert des At-Parameters ist eine Zeichenfolge, die von Windows PowerShell in ein DateTime-Objekt konvertiert wird. Der At-Parameterwert umfasst ein explizites Datum und 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: Tageszeitplan

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

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

Da der Wert des At-Parameters kein Datum enthält, wird das aktuelle Datum im DateTime-Objekt als Datumswert verwendet. Liegen das Datum und die Uhrzeit in der Vergangenheit, wird der geplante Auftrag bei der nächsten Ausführung gestartet, die 3 Tage nach dem At-Parameterwert liegt.

Beispiel 3: Wochenplan

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

Dieser Befehl erstellt einen Auftragstrigger, der einen geplanten Auftrag alle 4 Wochen am Montag, Mittwoch und Freitag um 23:00 Uhr startet.

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

Beispiel 4: Anmeldezeitplan

PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01

Dieser Befehl erstellt einen Auftragstrigger, der einen geplanten Auftrag startet, sobald sich der Domänenadministrator beim Computer anmeldet.

Beispiel 5: Verwenden einer zufälligen Verzögerung

PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00

Dieser Befehl erstellt einen Auftragstrigger, der einen geplanten Auftrag jeden Tag um 1:00 Uhr morgens startet. 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 Werte und Standardwerte des Cmdlets New-ScheduledJobOption, und koordinieren Sie die Verzögerung mit den Optionseinstellungen.

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

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

Diese Befehle verwenden einen Auftragstrigger zum Erstellen eines neuen geplanten Auftrags.

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

PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)

In diesem Beispiel wird veranschaulicht, wie einem vorhandenen geplanten Auftrag ein Auftragstrigger hinzugefügt wird. Sie können einem geplanten Auftrag mehrere Auftragstrigger hinzufügen.

Der Befehl verwendet das Cmdlet Add-JobTrigger, 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.

Nach Abschluss des Befehls ist SynchronizeApps ein geplanter Auftrag, der zu den durch den Auftragstrigger angegebenen Zeiten ausgeführt wird.

Beispiel 8: Create eines Triggers für wiederholte Aufträge

PS C:\> 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 einen Auftrag ab dem 12. September 2013 um 1:00 Uhr alle 60 Minuten für 48 Stunden ausführt.

Beispiel 9: Beenden eines Triggers für wiederholte Aufträge

PS C:\> Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00

Mit diesem Befehl wird die Beendigung des Auftrags SecurityCheck erzwungen, dessen Ausführung bis zum Ablauf seines Auftragstriggers alle 60 Minuten ausgelöst wird.

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

Beispiel 10: Create eines stündlich ausgeführten Auftragstriggers

PS C:\> 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 vom cmdlet Get-Date zurückgegeben wird, oder eine Zeichenfolge, die in ein Datum und eine Uhrzeit konvertiert werden kann, z. B. "19. April 2012 15:00", "12/31" oder "3Am". Wenn Sie kein Datumselement, z. B. das Jahr, angeben, entspricht das Datum im Trigger dem jeweiligen Element aus dem aktuellen Datum.

Bei Verwendung des Once-Parameters legen Sie den Wert des At-Parameters auf ein Datum und eine Uhrzeit in der Zukunft fest. Da das Standarddatum in einem DateTime-Objekt das aktuelle Datum ist, wird der Auftragstrigger für einen Zeitpunkt in der Vergangenheit erstellt, wenn Sie einen Zeitpunkt vor der aktuellen Zeit ohne explizites Datum angeben.

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 wurden.

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 zum Angeben eines Benutzers den User-Parameter.

Type:SwitchParameter
Position:0
Default value:False
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:False
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 Parametersatz 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. Durch den Wert 3 wird der geplante Auftrag beispielsweise an Tag 1, 4, 7 usw. gestartet. Der Standardwert ist 1.

Type:Int32
Position:Named
Default value:1
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 die Namen der Tage ein, z. B. „Montag“, oder ganze Zahlen von 0–6, wobei 0 Sonntag darstellt. Dieser Parameter ist im Weekly-Parametersatz erforderlich.

Namen von Tagen werden im Auftragstrigger in ihre ganzzahligen Werte konvertiert. Wenn Sie den Namen eines Tags in einem Befehl in Anführungszeichen einschließen, verwenden Sie für jeden Namen separate Anführungszeichen, z. B. „Montag“, „Dienstag“. Wenn Sie mehrere Namen von Wochentagen in ein Paar von Anführungszeichen einschließen, werden die entsprechenden ganzzahligen Werte addiert. „Montag, Dienstag“ (1, 2) ergibt z. B. den Wert „Mittwoch“ (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. Um einen Wiederholungszeitplan zu erstellen, verwenden Sie den Once-Parameter mit dem RepetitionDuration-Parameter und RepetitionInterval-Parameter.

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. Beim Standardwert 0 (null, 00:00:00), wird die zufällige Verzögerung deaktiviert.

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

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

-RepeatIndefinitely

Durch diesen ab Windows PowerShell 4.0 verfügbaren Parameter ist es nicht mehr erforderlich, einen TimeSpan.MaxValue-Wert für den RepetitionDuration-Parameter anzugeben, um einen geplanten Auftrag für unbestimmte Zeit wiederholt 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 Häufigkeit der Wiederholungen wird durch den Wert des RepetitionInterval-Parameters bestimmt. Wenn der Wert von RepetitionInterval z. B. 5 Minuten und der Wert von RepetitionDuration 2 Stunden beträgt, wird der Auftrag während zwei Stunden alle fünf Minuten ausgelöst.

Geben Sie ein timespan-Objekt ein, z. B. eines, das vom cmdlet New-TimeSpan zurückgegeben wird, oder eine Zeichenfolge, die in ein timespan-Objekt konvertiert werden kann, z. B. "1:05:30".

Fügen Sie zum Ausführen eines Auftrags für unbestimmte Zeit stattdessen den RepeatIndefinitely-Parameter hinzu.

Um einen Auftrag zu beenden, bevor die Wiederholungsdauer des Auftragstriggers abläuft, verwenden Sie das Cmdlet Set-JobTrigger, um den RepetitionDuration-Wert 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:0
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. Beim Standardwert 0 wird der Auftrag nicht wiederholt.

Geben Sie ein timespan-Objekt ein, z. B. eines, das vom cmdlet New-TimeSpan zurückgegeben wird, oder eine Zeichenfolge, die in ein timespan-Objekt konvertiert werden kann, z. B. "1:05:30".

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

Type:TimeSpan
Position:Named
Default value:0
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 im <Format Benutzername> oder <Domäne\Benutzername> ein, oder geben Sie ein Sternchen (*) ein, um alle Benutzer darzustellen. Der Standardwert entspricht allen Benutzern.

Type:String
Position:Named
Default value:All users
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 Weekly-Parametersatz, um die Details zum Zeitplan 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. Durch den Wert 3 wird der geplante Auftrag beispielsweise in Woche 1, 4, 7 usw. gestartet. Der Standardwert ist 1.

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

Eingaben

None

Eingaben können nicht an dieses Cmdlet weitergereicht werden.

Ausgaben

ScheduledJobTrigger

Hinweise

  • Auftragstrigger werden nicht auf dem Datenträger gespeichert. Geplante Aufträge werden jedoch auf dem Datenträger gespeichert, und Sie können die Get-JobTrigger verwenden, um den Auftragstrigger eines beliebigen geplanten Auftrags abzurufen.

  • New-JobTrigger hindert Sie nicht daran, einen Auftragstrigger zu erstellen, der keinen geplanten Auftrag ausführt, z. B. einmaliger Trigger für ein Datum in der Vergangenheit.

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

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

    @{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am" (oder eine beliebige gültige Zeitzeichenfolge); DaysOfWeek="Monday", "Wednesday" (oder eine beliebige Kombination von Tagnamen); Interval=2 (oder ein gültiges Frequenzintervall); RandomDelay="30minutes" (oder eine beliebige gültige Zeitspannenzeichenfolge); User="Domain1\User01 (oder ein gültiger Benutzer; wird nur mit dem AtLogon-Frequenzwert verwendet) }