Set-ScheduledJobOption

Hiermee wijzigt u de taakopties van een geplande taak.

Syntax

Set-ScheduledJobOption
   [-InputObject] <ScheduledJobOptions>
   [-PassThru]
   [-RunElevated]
   [-HideInTaskScheduler]
   [-RestartOnIdleResume]
   [-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
   [-DoNotAllowDemandStart]
   [-RequireNetwork]
   [-StopIfGoingOffIdle]
   [-WakeToRun]
   [-ContinueIfGoingOnBattery]
   [-StartIfOnBattery]
   [-IdleTimeout <TimeSpan>]
   [-IdleDuration <TimeSpan>]
   [-StartIfIdle]
   [<CommonParameters>]

Description

De Set-ScheduledJobOptions cmdlet wijzigt de taakopties van geplande taken.

Als u de opties van een geplande taak wilt wijzigen, begint u met de Get-ScheduledJobOption cmdlet om de taakopties van een geplande taak op te halen. Sluis vervolgens de opties door naar Set-ScheduledJobOption de opties in een variabele of sla deze op en gebruik de parameter InputObject van Set-ScheduledJobOption de cmdlet om de opties te identificeren. Gebruik de resterende parameters om Set-ScheduledJobOption de taakopties te wijzigen.

Als u een taakoptie wilt inschakelen, gebruikt u de parameter waarmee deze optie wordt ingesteld. Als u een optie wilt uitschakelen, typt u de parameternaam, een dubbele punt (:) en $false. Als u bijvoorbeeld de optie RunElevated wilt uitschakelen, typt u -RunElevated:$false.

Elk taakoptiesobject bevat een jobdefinition-eigenschap die de geplande taak bevat, zodat de koppeling met de geplande taak behouden blijft wanneer de taakopties worden gewijzigd.

De opties voor geplande taken bepalen hoe de taak wordt uitgevoerd wanneer deze wordt gestart door Task Scheduler. Deze opties kunnen niet worden toegepast wanneer u de Start-Job cmdlet gebruikt om een geplande taak te starten.

Set-ScheduledJobOptionis een van een verzameling cmdlets voor taakplanning in de PSScheduledJob-module die is opgenomen in Windows PowerShell.

Zie de onderwerpen Over in de PSScheduledJob-module voor meer informatie over geplande taken. Importeer de PSScheduledJob-module en typ vervolgens: Get-Help about_Scheduled* of zie about_Scheduled_Jobs.

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Taakopties wijzigen

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 dit voorbeeld ziet u hoe u de opties van een geplande taak op de lokale computer kunt wijzigen.

De eerste opdracht gebruikt de Get-ScheduledJobOption cmdlet om de taakopties van de geplande taak DeployPackage op te halen. In de uitvoer ziet u dat de eigenschappen WakeToRun en RunElevated zijn ingesteld op $false.

De tweede opdracht gebruikt de Set-ScheduledJobOpton cmdlet om de taakopties te wijzigen, zodat de waarden van de eigenschappen WakeToRun en RunWithoutNetwork worden $True. De opdracht gebruikt de parameter Passthru om de trigger na de wijziging te retourneren.

Deze opdracht is niet vereist; het is alleen opgenomen om het effect van de optiewijziging weer te geven.

Voorbeeld 2: Een optie wijzigen voor alle externe geplande taken

Invoke-Command -Computer "Server01" -ScriptBlock {
    Get-ScheduledJob | 
        Get-ScheduledJobOption | 
        Set-ScheduledJobOption -IdleTimeout 2:00:00
}

Met deze opdracht wordt de waarde van de IdleTimeout gewijzigd van één uur (de standaardwaarde) in twee uur voor alle geplande taken op de Server01-computer.

De opdracht gebruikt de Invoke-Command cmdlet om een opdracht uit te voeren op de Server01-computer.

De externe opdracht begint met een Get-ScheduledJob opdracht die alle geplande taken op de computer ontvangt. De geplande taken worden doorgesluisd naar de Get-ScheduledJobOption cmdlet, waarmee de taakopties van de geplande taken worden opgehaald. Elk taakoptiesobject bevat een JobDefinition-eigenschap die de geplande taak bevat, zodat het optiesobject gekoppeld blijft aan de geplande taak, zelfs wanneer deze wordt gewijzigd.

De taaktriggers worden doorgesluisd naar de Set-ScheduledJobOption cmdlet, waardoor de waarde van de optie IdleTimeout wordt gewijzigd in twee uur (2:00:00).

Parameters

-ContinueIfGoingOnBattery

Stop de geplande taak niet als de computer overschakelt op accustroom (wordt losgekoppeld van netstroom) terwijl de taak wordt uitgevoerd. Standaard worden geplande taken gestopt wanneer de computer de verbinding met netstroom verbreekt.

De parameter ContinueIfGoingOnBattery stelt de waarde van de eigenschap StopIfGoingOnBatteries van geplande taken in op $true.

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

Start de taak alleen wanneer deze wordt geactiveerd. Gebruikers kunnen de taak niet handmatig starten, zoals met de functie Uitvoeren in Task Scheduler.

Deze parameter is alleen van invloed op Task Scheduler. Het voorkomt niet dat gebruikers de Start-Job cmdlet gebruiken om de taak te starten.

Met de parameter DoNotAllowDemandStart wordt de waarde van de eigenschap DoNotAllowDemandStart van geplande taken ingesteld op $true.

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

De taak niet weergeven in Task Scheduler. Deze waarde is alleen van invloed op de computer waarop de taak wordt uitgevoerd. Standaard worden geplande taken weergegeven in Task Scheduler.

Zelfs als een taak verborgen is, kunnen gebruikers de taak weergeven door de optie Verborgen taken weergeven te selecteren in Task Scheduler.

De parameter HideInTaskScheduler stelt de waarde van de eigenschap ShowInTaskScheduler van geplande taken in op $false.

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

Hiermee geeft u op hoe lang de computer inactief moet zijn voordat de taak wordt gestart. De standaardwaarde is 10 minuten. Als de computer niet inactief is voor de opgegeven duur voordat de waarde van IdleTimeout verloopt, wordt de geplande taak pas uitgevoerd als de volgende geplande tijd, indien aanwezig.

Voer een tijdsperiodeobject in, zoals een object dat is gegenereerd door de New-TimeSpan cmdlet, of voer een waarde in de notatie in <hours>:<minutes>:<seconds> die automatisch wordt geconverteerd naar een TimeSpan-object .

Gebruik de parameter StartIfIdle om deze waarde in te schakelen. De eigenschap StartIfNotIdle van geplande taken is standaard ingesteld op $true en Windows PowerShell negeert de waarden IdleDuration en IdleTimeout.

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

Hiermee geeft u op hoe lang de computer inactief moet zijn voordat de taak wordt gestart. De standaardwaarde is 10 minuten. Als de computer niet inactief is voor de opgegeven duur voordat de waarde van IdleTimeout verloopt, wordt de geplande taak pas uitgevoerd als de volgende geplande tijd, indien aanwezig.

Voer een tijdsperiodeobject in, zoals een object dat is gegenereerd door de New-TimeSpan cmdlet, of voer een waarde in de notatie in <hours>:<minutes>:<seconds> die automatisch wordt geconverteerd naar een TimeSpan-object .

Gebruik de parameter StartIfIdle om deze waarde in te schakelen. De eigenschap StartIfNotIdle van geplande taken is standaard ingesteld op $True en Windows PowerShell negeert de waarden IdleDuration en IdleTimeout.

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

Hiermee geeft u de taakopties. Voer een variabele in die ScheduledJobOptions-objecten bevat of typ een opdracht of expressie die ScheduledJobOptions-objecten ophaalt, zoals een Get-ScheduledJobOption opdracht. U kunt ook een ScheduledJobOptions-object doorsluisen naar Set-ScheduledJobOption.

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-MultipleInstancePolicy

Bepaalt hoe het systeem reageert op een aanvraag om een exemplaar van een geplande taak te starten terwijl een ander exemplaar van de taak wordt uitgevoerd. De aanvaardbare waarden voor deze parameter zijn:

  • IgnoreNew - Het nieuwe taakexemplaren wordt genegeerd. Dit is de standaardwaarde.
  • Parallel - Het nieuwe taakexemplaren worden onmiddellijk gestart.
  • Queue - Het nieuwe taakexemplaren worden gestart zodra het huidige exemplaar is voltooid.
  • StopExisting - Het huidige exemplaar van de taak wordt gestopt en het nieuwe exemplaar wordt gestart.

Als u de taak wilt uitvoeren, moet aan alle voorwaarden voor het taakschema worden voldaan. Als bijvoorbeeld de voorwaarden die zijn ingesteld door de parameters RequireNetwork, IdleDuration en IdleTimeout niet worden voldaan, wordt het taakexemplementatie niet gestart, ongeacht de waarde van deze parameter.

Type:Microsoft.PowerShell.ScheduledJob.TaskMultipleInstancePolicy
Accepted values:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PassThru

Retourneert een object dat het item aangeeft waarmee u werkt. Deze cmdlet genereert standaard geen uitvoer.

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

Hiermee wordt de geplande taak alleen uitgevoerd wanneer netwerkverbindingen beschikbaar zijn.

Als u deze parameter opgeeft en het netwerk niet beschikbaar is op de geplande begintijd, wordt de taak pas uitgevoerd als de volgende geplande begintijd, indien van toepassing.

Met de parameter RequireNetwork wordt de waarde van de eigenschap RunWithoutNetwork van geplande taken ingesteld op $false.

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

Start een geplande taak opnieuw op wanneer de computer inactief wordt. Deze parameter werkt met de parameter StopIfGoingOffIdle , die een actieve geplande taak onderbreekt als de computer actief wordt (laat de status inactief).

De parameter RestartOnIdleResume stelt de waarde van de eigenschap RestartOnIdleResume van geplande taken in op $true.

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

Hiermee wordt de geplande taak uitgevoerd met de machtigingen van een lid van de groep Administrators op de computer waarop de taak wordt uitgevoerd.

Als u wilt dat een geplande taak kan worden uitgevoerd met beheerdersmachtigingen, gebruikt u de referentieparameter om Register-ScheduledJob expliciete referenties voor de taak op te geven.

Met de parameter RunElevated wordt de waarde van de eigenschap RunElevated van geplande taken ingesteld op $true.

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

Start de geplande taak als de computer inactief is geweest voor de tijd die is opgegeven door de parameter IdleDuration voordat de tijd die is opgegeven door de parameter IdleTimeout verloopt.

De parameters IdleDuration en IdleTimeout worden standaard genegeerd en de taak wordt gestart op de geplande begintijd, zelfs als de computer bezet is.

Als u deze parameter opgeeft en de computer bezet is (niet inactief) op de geplande begintijd, wordt de taak pas uitgevoerd als de volgende geplande begintijd, indien aanwezig.

Met de parameter StartIfIdle wordt de waarde van de eigenschap StartIfNotIdle van geplande taken ingesteld op $false.

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

Start de geplande taak, zelfs als de computer op batterijen op de geplande begintijd wordt uitgevoerd. De standaardwaarde is $false.

Met de parameter StartIfOnBattery wordt de waarde van de eigenschap StartIfOnBatteries van geplande taken ingesteld op $true.

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

Onderbreekt een actieve geplande taak als de computer actief wordt (niet actief) terwijl de taak wordt uitgevoerd.

Standaard wordt een geplande taak onderbroken wanneer de computer actief wordt hervat wanneer de computer weer inactief wordt. Als u dit standaardgedrag wilt wijzigen, gebruikt u de parameter RestartOnIdleResume .

De parameter StopIfGoingOffIdle stelt de waarde van de eigenschap StopIfGoingOffIdle van geplande taken in op $true.

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

De computer wordt geactiveerd vanuit een sluimerstand of slaapstand op de geplande begintijd, zodat de taak kan worden uitgevoerd. Als de computer zich in de sluimerstand of slaapstand bevindt op de geplande begintijd, wordt de taak standaard niet uitgevoerd.

Met de parameter WakeToRun wordt de waarde van de eigenschap WakeToRun van geplande taken ingesteld op $true.

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

Invoerwaarden

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

U kunt een object met geplande taakopties doorsluisen naar Set-ScheduledJobOption.

Uitvoerwaarden

Geen of Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Wanneer u de parameter Passthru gebruikt, Set-ScheduledJobOption worden de taakopties geretourneerd die zijn gewijzigd. Anders genereert deze cmdlet geen uitvoer.