Set-ScheduledJobOption
Ändert die Auftragsoptionen eines geplanten Auftrags.
Syntax
Set-ScheduledJobOption
[-InputObject] <ScheduledJobOptions>
[-PassThru]
[-RunElevated]
[-HideInTaskScheduler]
[-RestartOnIdleResume]
[-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
[-DoNotAllowDemandStart]
[-RequireNetwork]
[-StopIfGoingOffIdle]
[-WakeToRun]
[-ContinueIfGoingOnBattery]
[-StartIfOnBattery]
[-IdleTimeout <TimeSpan>]
[-IdleDuration <TimeSpan>]
[-StartIfIdle]
[<CommonParameters>]
Beschreibung
Das Set-ScheduledJobOptions
Cmdlet ändert die Auftragsoptionen von geplanten Aufträgen.
Um die Optionen eines geplanten Auftrags zu ändern, verwenden Sie zunächst das Get-ScheduledJobOption
Cmdlet, um die Auftragsoptionen eines geplanten Auftrags abzurufen. Übergeben Sie dann die Optionen an Set-ScheduledJobOption
die Optionen, oder speichern Sie sie in einer Variablen, und verwenden Sie den InputObject-Parameter des Set-ScheduledJobOption
Cmdlets, um die Optionen zu identifizieren. Verwenden Sie die verbleibenden Parameter, Set-ScheduledJobOption
um die Auftragsoptionen zu ändern.
Verwenden Sie zum Aktivieren einer Auftragsoption den Parameter, der diese Option festlegt. Um eine Option zu deaktivieren, geben Sie den Parameternamen, einen Doppelpunkt (:
) und $false
einen . Geben Sie -RunElevated:$false
z. B. ein, um die RunElevated-Option zu deaktivieren.
Jedes Auftragsoptionenobjekt enthält eine JobDefinition-Eigenschaft, die den geplanten Auftrag enthält, sodass die Zuordnung zum geplanten Auftrag beibehalten wird, wenn die Auftragsoptionen geändert werden.
Die Optionen für geplante Aufträge bestimmen, wie der Auftrag ausgeführt wird, wenn er durch den Taskplaner gestartet wird. Diese Optionen gelten nicht, wenn Sie das Start-Job
Cmdlet verwenden, um einen geplanten Auftrag zu starten.
Set-ScheduledJobOption
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: Ändern von Auftragsoptionen
Get-ScheduledJobOption -Name "DeployPackage"
StartIfOnBatteries : False
StopIfGoingOnBatteries : True
WakeToRun : False
StartIfNotIdle : True
StopIfGoingOffIdle : False
RestartOnIdleResume : False
IdleDuration : 00:10:00
IdleTimeout : 01:00:00
ShowInTaskScheduler : True
RunElevated : False
RunWithoutNetwork : False
DoNotAllowDemandStart : False
MultipleInstancePolicy : IgnoreNew
JobDefinition :
Get-ScheduledJobOption -Name "DeployPackage" |
Set-ScheduledJobOption -WakeToRun -RequireNetwork:$false -PassThru
StartIfOnBatteries : False
StopIfGoingOnBatteries : True
WakeToRun : True
StartIfNotIdle : True
StopIfGoingOffIdle : False
RestartOnIdleResume : False
IdleDuration : 00:10:00
IdleTimeout : 01:00:00
ShowInTaskScheduler : True
RunElevated : False
RunWithoutNetwork : True
DoNotAllowDemandStart : False
MultipleInstancePolicy : IgnoreNewJobDefinition :
In diesem Beispiel wird veranschaulicht, wie die Optionen eines geplanten Auftrags auf dem lokalen Computer geändert werden.
Der erste Befehl verwendet das Get-ScheduledJobOption
Cmdlet, um die Auftragsoptionen des geplanten DeployPackage-Auftrags abzurufen. Die Ausgabe zeigt, dass die Eigenschaften WakeToRun und RunElevated auf $false
festgelegt sind.
Der zweite Befehl verwendet das Set-ScheduledJobOpton
Cmdlet, um die Auftragsoptionen zu ändern, sodass die Werte der Eigenschaften WakeToRun und RunWithoutNetwork $True werden. Der Befehl verwendet den PassThru-Parameter , um den Trigger nach der Änderung zurückzugeben.
Dieser Befehl ist nicht erforderlich. Er soll lediglich die Auswirkung der Optionsänderung veranschaulichen.
Beispiel 2: Ändern einer Option für alle remote geplanten Aufträge
Invoke-Command -Computer "Server01" -ScriptBlock {
Get-ScheduledJob |
Get-ScheduledJobOption |
Set-ScheduledJobOption -IdleTimeout 2:00:00
}
Mit diesem Befehl wird der Wert des IdleTimeout von einer Stunde (Standardwert) auf zwei Stunden für alle geplanten Aufträge auf dem Server01-Computer geändert.
Der Befehl verwendet das Invoke-Command
Cmdlet, um einen Befehl auf dem Server01-Computer auszuführen.
Der Remotebefehl beginnt mit einem Get-ScheduledJob
Befehl, der alle geplanten Aufträge auf dem Computer abruft. Die geplanten Aufträge werden an das Get-ScheduledJobOption
Cmdlet weitergeleitet, wodurch die Auftragsoptionen der geplanten Aufträge abgerufen werden. Jedes Auftragsoptionenobjekt enthält eine JobDefinition-Eigenschaft, die den geplanten Auftrag enthält, sodass das Optionsobjekt auch dann dem geplanten Auftrag zugeordnet bleibt, wenn er geändert wird.
Die Auftragstrigger werden an das Set-ScheduledJobOption
Cmdlet weitergeleitet, wodurch der Wert der IdleTimeout-Option in zwei Stunden geändert wird (2:00:00).
Parameter
-ContinueIfGoingOnBattery
Beenden Sie den geplanten Auftrag nicht, wenn der Computer (vom Netzbetrieb) in den Akkubetrieb umschaltet, während der Auftrag ausgeführt wird. Geplante Aufträge werden standardmäßig beendet, wenn der Computer vom Netzbetrieb getrennt wird.
Der Parameter ContinueIfGoingOnBattery legt den Wert der StopIfGoingOnBatteries-Eigenschaft von geplanten Aufträgen auf $true
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DoNotAllowDemandStart
Startet den Auftrag nur, wenn er ausgelöst wird. Benutzer können den Auftrag nicht manuell starten, beispielsweise durch die Funktion „Ausführen“ im Taskplaner.
Dieser Parameter wirkt sich nur auf den Taskplaner aus. Sie verhindert nicht, dass Benutzer das Start-Job
Cmdlet zum Starten des Auftrags verwenden.
Der Parameter DoNotAllowDemandStart legt den Wert der DoNotAllowDemandStart-Eigenschaft von geplanten Aufträgen auf $true
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-HideInTaskScheduler
Zeigt den Auftrag nicht im Taskplaner an. Dieser Wert wirkt sich nur auf den Computer aus, auf dem der Auftrag ausgeführt wird. Standardmäßig werden geplante Tasks im Taskplaner angezeigt.
Auch wenn eine Aufgabe ausgeblendet ist, können Benutzer die Aufgabe anzeigen, indem Sie die Option "Ausgeblendete Vorgänge anzeigen" in "Vorgangsplaner" auswählen.
Der Parameter HideInTaskScheduler legt den Wert der ShowInTaskScheduler-Eigenschaft von geplanten Aufträgen auf $false
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-IdleDuration
Gibt an, wie lange der Computer im Leerlauf sein muss, bevor der Auftrag gestartet wird. Der Standardwert ist 10 Minuten Wenn der Computer nicht für die angegebene Dauer leer ist, bevor der Wert von IdleTimeout abläuft, wird der geplante Auftrag erst nach der nächsten geplanten Zeit ausgeführt, wenn vorhanden.
Geben Sie ein Timepan-Objekt ein, z. B. ein vom New-TimeSpan
Cmdlet generiertes Objekt, oder geben Sie einen Wert in <hours>:<minutes>:<seconds>
das Format ein, das automatisch in ein TimeSpan-Objekt konvertiert wird.
Verwenden Sie den StartIfIdle-Parameter , um diesen Wert zu aktivieren. Standardmäßig ist die StartIfNotIdle-Eigenschaft von geplanten Aufträgen auf "StartIfNotIdle " festgelegt $true
, und Windows PowerShell ignoriert die Werte "IdleDuration " und "IdleTimeout" .
Typ: | TimeSpan |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-IdleTimeout
Gibt an, wie lange der Computer im Leerlauf sein muss, bevor der Auftrag gestartet wird. Der Standardwert ist 10 Minuten Wenn der Computer nicht für die angegebene Dauer leer ist, bevor der Wert von IdleTimeout abläuft, wird der geplante Auftrag erst nach der nächsten geplanten Zeit ausgeführt, wenn vorhanden.
Geben Sie ein Timepan-Objekt ein, z. B. ein vom New-TimeSpan
Cmdlet generiertes Objekt, oder geben Sie einen Wert in <hours>:<minutes>:<seconds>
das Format ein, das automatisch in ein TimeSpan-Objekt konvertiert wird.
Verwenden Sie den StartIfIdle-Parameter , um diesen Wert zu aktivieren. Standardmäßig ist die StartIfNotIdle-Eigenschaft von geplanten Aufträgen auf $True festgelegt, und Windows PowerShell ignoriert die Werte "IdleDuration " und "IdleTimeout" .
Typ: | TimeSpan |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Gibt die Auftragsoptionen an. Geben Sie eine Variable ein, die ScheduledJobOptions-Objekte enthält, oder geben Sie einen Befehl oder Ausdruck ein, der ScheduledJobOptions-Objekte abruft, z. B. einen Get-ScheduledJobOption
Befehl. Sie können auch ein ScheduledJobOptions -Objekt an Set-ScheduledJobOption
.
Typ: | ScheduledJobOptions |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-MultipleInstancePolicy
Bestimmt, wie das System auf eine Anforderung reagiert, eine Instanz eines geplanten Auftrags zu starten, während eine andere Instanz des Auftrags ausgeführt wird. Zulässige Werte für diesen Parameter:
IgnoreNew
- Die neue Auftragsinstanz wird ignoriert. Dies ist der Standardwert.Parallel
- Die neue Auftragsinstanz wird sofort gestartet.Queue
– Die neue Auftragsinstanz wird gestartet, sobald die aktuelle Instanz abgeschlossen ist.StopExisting
– Die aktuelle Instanz des Auftragsstopps und die neue Instanz wird gestartet.
Um den Auftrag auszuführen, müssen alle Bedingungen für den Auftragszeitplan erfüllt sein. Wenn beispielsweise die Bedingungen, die von den Parametern RequireNetwork, IdleDuration und IdleTimeout festgelegt werden, nicht erfüllt sind, wird die Auftragsinstanz unabhängig vom Wert dieses Parameters nicht gestartet.
Typ: | TaskMultipleInstancePolicy |
Zulässige Werte: | None, IgnoreNew, Parallel, Queue, StopExisting |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PassThru
Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RequireNetwork
Führt den geplanten Auftrag nur aus, wenn Netzwerkverbindungen verfügbar sind.
Wenn Sie diesen Parameter angeben und das Netzwerk zur geplanten Startzeit nicht verfügbar ist, wird der Auftrag erst zur nächsten geplanten Startzeit ausgeführt, falls vorhanden.
Der Parameter RequireNetwork legt den Wert der RunWithoutNetwork-Eigenschaft von geplanten Aufträgen auf $false
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RestartOnIdleResume
Startet einen geplanten Auftrag neu, sobald der Computer im Leerlauf ist. Dieser Parameter funktioniert mit dem Parameter StopIfGoingOffIdle , der einen ausgeführten geplanten Auftrag anhält, wenn der Computer aktiv wird (verlässt den Leerlaufstatus).
Der Parameter RestartOnIdleResume legt den Wert der RestartOnIdleResume-Eigenschaft von geplanten Aufträgen auf $true
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RunElevated
Führt den geplanten Auftrag mit den Berechtigungen eines Mitglieds der Gruppe "Administratoren" auf dem Computer aus, auf dem der Auftrag ausgeführt wird.
Um die Ausführung eines geplanten Auftrags mit Administratorberechtigungen zu ermöglichen, verwenden Sie den Parameter Register-ScheduledJob
"Anmeldeinformationen", um explizite Anmeldeinformationen für den Auftrag bereitzustellen.
Der RunElevated-Parameter legt den Wert der RunElevated-Eigenschaft von geplanten Aufträgen auf $true
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-StartIfIdle
Startet den geplanten Auftrag, wenn der Computer für die durch den Parameter IdleDuration angegebene Zeit im Leerlauf war, bevor die durch den Parameter IdleTimeout angegebene Uhrzeit abläuft.
Standardmäßig werden die Parameter IdleDuration und IdleTimeout ignoriert, und der Auftrag beginnt mit der geplanten Startzeit, auch wenn der Computer ausgelastet ist.
Wenn Sie diesen Parameter angeben und der Computer zur geplanten Startzeit ausgelastet (nicht im Leerlauf) ist, wird der Auftrag erst zur nächsten geplanten Startzeit ausgeführt, falls vorhanden.
Der StartIfIdle-Parameter legt den Wert der StartIfNotIdle-Eigenschaft von geplanten Aufträgen auf $false
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-StartIfOnBattery
Startet den geplanten Auftrag, selbst wenn der Computer zur geplanten Startzeit im Akkubetrieb ausgeführt wird.
Der Standardwert ist $false
.
Der Parameter StartIfOnBattery legt den Wert der StartIfOnBatteries-Eigenschaft von geplanten Aufträgen auf $true
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-StopIfGoingOffIdle
Hält einen aktuell ausgeführten geplanten Auftrag an, wenn der Computer aktiv wird (aus dem Leerlauf wechselt), während der Auftrag ausgeführt wird.
Ein geplanter Auftrag, der angehalten wird, wenn der Computer aktiv wird, wird standardmäßig fortgesetzt, sobald der Computer wieder im Leerlauf ist. Verwenden Sie den Parameter "RestartOnIdleResume ", um dieses Standardverhalten zu ändern.
Der Parameter StopIfGoingOffIdle legt den Wert der StopIfGoingOffIdle-Eigenschaft von geplanten Aufträgen auf $true
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WakeToRun
Aktiviert den Computer zur geplanten Startzeit aus dem Ruhezustand oder Standbymodus, damit der Auftrag ausgeführt werden kann. Wenn sich der Computer zur geplanten Startzeit im Ruhezustand oder Standbymodus befindet, wird der Auftrag standardmäßig nicht ausgeführt.
Der WakeToRun-Parameter legt den Wert der WakeToRun-Eigenschaft von geplanten Aufträgen auf $true
.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können ein Objekt für geplante Auftragsoptionen an dieses Cmdlet weiterleiten.
Ausgaben
None
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
Wenn Sie den PassThru-Parameter verwenden, gibt dieses Cmdlet die Auftragsoptionen zurück, die geändert wurden.
Ähnliche Themen
- 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