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 zum Ändern der Auftragsoptionen die Parameter zum Erneuten Set-ScheduledJobOption Standard.

Verwenden Sie zum Aktivieren einer Auftragsoption den Parameter, der diese Option festlegt. Um eine Option zu deaktivieren, geben Sie den Parameternamen, einen Doppelpunkt (:) und $falseeinen . Geben Sie -RunElevated:$falsez. 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 $falsefestgelegt 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 erneut Standard dem geplanten Auftrag zugeordnet ist, auch 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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" .

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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" .

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:ScheduledJobOptions
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:TaskMultipleInstancePolicy
Accepted values:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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

Eingaben

ScheduledJobOptions

Sie können ein Objekt für geplante Auftragsoptionen an dieses Cmdlet weiterleiten.

Ausgaben

None

Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.

ScheduledJobOptions

Wenn Sie den PassThru-Parameter verwenden, gibt dieses Cmdlet die Auftragsoptionen zurück, die geändert wurden.