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
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) }
Ähnliche Themen
- about_Scheduled_Jobs
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob