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. Geef vervolgens de opties door of Set-ScheduledJobOption sla de opties op in een variabele 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 die 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 -RunElevated:$falseu .

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

De geplande taakopties bepalen hoe de taak wordt uitgevoerd wanneer deze wordt gestart door Task Scheduler. Deze opties zijn niet van toepassing wanneer u de Start-Job cmdlet gebruikt om een geplande taak te starten.

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

Zie de onderwerpen Over geplande taken in de PSScheduledJob-module voor meer informatie over geplande taken. Importeer de PSScheduledJob-module en typ: 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. De uitvoer laat zien 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 waarmee alle geplande taken op de computer worden uitgevoerd. 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. Geplande taken stoppen standaard 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
Required:False
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. Hiermee voorkomt u 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HideInTaskScheduler

De taak wordt niet weergegeven in Task Scheduler. Deze waarde is alleen van invloed op de computer waarop de taak wordt uitgevoerd. Geplande taken worden standaard 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.

Met de parameter HideInTaskScheduler wordt de waarde van de eigenschap ShowInTaskScheduler van geplande taken ingesteld op $false.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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 van toepassing.

Voer een tijdspanneobject 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 .

Als u deze waarde wilt inschakelen, gebruikt u de parameter StartIfIdle . 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
Required:False
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 van toepassing.

Voer een tijdspanneobject 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 .

Als u deze waarde wilt inschakelen, gebruikt u de parameter StartIfIdle . 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
Required:False
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 waarmee ScheduledJobOptions-objecten worden opgehaald, 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
Required:True
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 wordt onmiddellijk gestart.
  • Queue - Het nieuwe taakexemplaren wordt 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 de taakplanning worden voldaan. Als bijvoorbeeld aan de voorwaarden die zijn ingesteld door de parameters RequireNetwork, IdleDuration en IdleTimeout , niet wordt voldaan, wordt het taakexemplaren 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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequireNetwork

Hiermee wordt de geplande taak alleen uitgevoerd wanneer er 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.

De parameter RequireNetwork stelt de waarde van de eigenschap RunWithoutNetwork van geplande taken in op $false.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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 , waarmee een actieve geplande taak wordt onderbroken 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunElevated

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

Als u wilt dat een geplande taak kan worden uitgevoerd met Beheer istratormachtigingen, 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartIfIdle

Hiermee start u 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.

Standaard worden de parameters IdleDuration en IdleTimeout genegeerd en wordt de taak 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 van toepassing.

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

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

-StartIfOnBattery

Hiermee wordt de geplande taak gestart, zelfs als de computer op batterijen wordt uitgevoerd op de geplande begintijd. 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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WakeToRun

Hiermee wordt de computer geactiveerd vanuit een sluimerstand of slaapstand op de geplande begintijd, zodat de taak kan worden uitgevoerd. Als de computer zich in de slaapstand 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

U kunt een object voor geplande taakopties doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet de taakopties die zijn gewijzigd.