New-ScheduledJobOption

Hiermee maakt u een object met geavanceerde opties voor een geplande taak.

Syntax

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

Description

De New-ScheduledJobOption cmdlet maakt een object met geavanceerde opties voor een geplande taak.

U kunt het object ScheduledJobOptions gebruiken dat New-ScheduledJobOption terugkeert om taakopties in te stellen voor een nieuwe of bestaande geplande taak. U kunt ook taakopties instellen met behulp van de Get-ScheduledJobOption cmdlet om de taakopties van een bestaande geplande taak op te halen of door een hashtabelwaarde te gebruiken om de taakopties weer te geven.

Zonder parameters genereert New-ScheduledJobOption u een object dat de standaardwaarden voor alle opties bevat. Omdat alle eigenschappen behalve de eigenschap JobDefinition kunnen worden bewerkt, kunt u het resulterende object als sjabloon gebruiken en standaardoptieobjecten maken voor uw onderneming.

Wanneer u geplande taken maakt en opties voor geplande taken instelt, controleert u de standaardwaarden van alle geplande taakopties. Geplande taken worden alleen uitgevoerd wanneer aan alle voorwaarden voor de uitvoering ervan wordt voldaan.

New-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: Een gepland taakoptieobject maken met standaardwaarden

In dit voorbeeld wordt een gepland taakoptieobject gemaakt met de standaardwaarden.

New-ScheduledJobOption

Voorbeeld 2: Een gepland taakoptieobject maken met aangepaste waarden

In dit voorbeeld wordt een gepland taakoptieobject gemaakt met aangepaste waarden

New-ScheduledJobOption -RequireNetwork -StartIfOnBattery

StartIfOnBatteries     : True
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 : Ignore
NewJobDefinition       :

Met de volgende opdracht maakt u een gepland taakobject dat het netwerk vereist en voert u de geplande taak uit, zelfs als de computer niet is verbonden met netstroom.

In de uitvoer ziet u dat de parameter RequireNetwork de waarde van de eigenschap RunWithoutNetwork heeft gewijzigd in $false en dat de parameter StartIfOnBattery de waarde van de eigenschap StartIfOnBatteries heeft gewijzigd in $true.

Voorbeeld 3: Opties instellen voor een nieuwe geplande taak

In dit voorbeeld ziet u hoe u het object ScheduledJobOptions gebruikt dat New-ScheduledJobOption terugkeert om de opties voor een nieuwe geplande taak in te stellen.

$runAsAdmin = New-ScheduledJobOption -RunElevated
Register-ScheduledJob -Name Backup -FilePath D:\Scripts\Backup.ps1 -Trigger $Mondays -ScheduledJobOption $RunAsAdmin
Get-ScheduledJobOption -Name Backup

StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : True
RunWithoutNetwork      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNew
JobDefinition          : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Met de eerste opdracht maakt u een ScheduledJobOptions-object met de parameter RunElevated . Het object wordt opgeslagen in de $runAsAdmin variabele.

De tweede opdracht maakt gebruik van de Register-ScheduledJob cmdlet om een nieuwe geplande taak te maken. De waarde van de parameter ScheduledJobOption is het optieobject in de waarde van de $runAsAdmin variabele.

De derde opdracht maakt gebruik van de Get-ScheduledJobOption cmdlet om de taakopties van de geplande back-uptaak op te halen. De uitvoer van de cmdlet laat zien dat de eigenschap RunElevated is ingesteld op $true en dat de eigenschap JobDefinition van het taakoptieobject nu is gevuld met het geplande taakobject voor de geplande back-uptaak.

Voorbeeld 4: De eigenschappen van een gepland taakoptieobject sorteren

In dit voorbeeld ziet u hoe u de eigenschappen van een ScheduledJobOptions-object in alfabetische volgorde sorteert om gemakkelijk te lezen.

$options = New-ScheduledJobOption -WakeToRun
$options.PSObject.Properties | Sort-Object -Property Name | Format-Table -Property Name, Value -Autosize

Name                       Value
----                       -----
DoNotAllowDemandStart      False
IdleDuration            00:10:00
IdleTimeout             01:00:00
JobDefinition
MultipleInstancePolicy IgnoreNew
RestartOnIdleResume        False
RunElevated                False
RunWithoutNetwork           True
ShowInTaskScheduler         True
StartIfNotIdle              True
StartIfOnBatteries         False
StopIfGoingOffIdle         False
StopIfGoingOnBatteries      True
WakeToRun                   True

De eerste opdracht maakt gebruik van de New-ScheduledJobOption cmdlet om een ScheduledJobOptions-object te maken. De opdracht maakt gebruik van de wakeToRun-parameter en slaat het resulterende object op in de $options variabele.

Als u de eigenschappen van $Options als objecten wilt ophalen, gebruikt de tweede opdracht de eigenschap PSObject van alle Windows PowerShell-objecten en de eigenschap Properties. De opdracht geeft vervolgens de eigenschapsobjecten door aan de Sort-Object cmdlet, waarmee de eigenschappen in alfabetische volgorde op naam worden gesorteerd en vervolgens naar de Format-Table cmdlet, waarin de namen en waarden van de eigenschappen in een tabel worden weergegeven.

Deze indeling maakt het veel gemakkelijker om de eigenschap WakeToRun van het object ScheduledJobOptions in $options te vinden en om te controleren of de waarde ervan is gewijzigd in $false $true.

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 TimeSpan-object in, zoals een object dat is gegenereerd door de New-TimeSpan cmdlet of voer een waarde in<hours><minutes>::<seconds> notatie in 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 geplande taak wacht totdat de computer inactief is. Als deze time-out verloopt voordat de computer inactief blijft voor de periode die is opgegeven door de parameter IdleDuration , wordt de taak pas uitgevoerd als de volgende geplande tijd, indien van toepassing. De standaardwaarde is één uur.

Voer een TimeSpan-object in, zoals een object dat is gegenereerd door de New-TimeSpan cmdlet of voer een waarde in<hours><minutes>::<seconds> notatie in 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
-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 standaardwaarde is IgnoreNew. De aanvaardbare waarden voor deze parameter zijn:

  • IgnoreNew - Het nieuwe taakexemplaren wordt genegeerd.
  • 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 stopt 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
-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

Geen

U kunt invoer voor deze cmdlet niet doorsluisen.

Uitvoerwaarden

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Notities

  • U kunt het object ScheduledJobOptions gebruiken dat New-ScheduledJobOption wordt gemaakt als de waarde van de parameter ScheduledJobOption van de Register-ScheduledJob cmdlet. De parameter ScheduledJobOption kan echter ook een hashtabelwaarde gebruiken die de eigenschappen van het Object ScheduledJobOptions en de bijbehorende waarden aangeeft, zoals:

    @{ShowInTaskScheduler=$False; RunElevated=$True; IdleDuration="00:05"}