Delen via


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 cmdlet New-ScheduledJobOption maakt een object met geavanceerde opties voor een geplande taak.

U kunt het ScheduledJobOptions-object dat New-ScheduledJobOption retourneert gebruiken om taakopties in te stellen voor een nieuwe of bestaande geplande taak. U kunt ook taakopties instellen met behulp van de cmdlet Get-ScheduledJobOption 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 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 voor uw onderneming maken.

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

New-ScheduledJobOption is een van een verzameling taakplannings-cmdlets in de PSScheduledJob-module die is opgenomen in Windows PowerShell.

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

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Creatie een gepland taakoptieobject met standaardwaarden

PS C:\> New-ScheduledJobOption
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      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : Ignore
NewJobDefinition       :

Met deze opdracht maakt u een gepland taakoptieobject met alle standaardwaarden.

Voorbeeld 2: Creatie een gepland taakoptieobject met aangepaste waarden

PS C:\> 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.

De uitvoer laat zien 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

The first command creates a **ScheduledJobOptions** object with the *RunElevated* parameter. It saves the object in the $RunAsAdmin variable.
PS C:\> $RunAsAdmin = New-ScheduledJobOption -RunElevated

The second command uses the Register-ScheduledJob cmdlet to create a new scheduled job. The value of the *ScheduledJobOption* parameter is the option object in the value of the $RunAsAdmin variable.
PS C:\> Register-ScheduledJob -Name Backup -FilePath D:\Scripts\Backup.ps1 -Trigger $Mondays -ScheduledJobOption $RunAsAdmin

The third command uses the Get-ScheduledJobOption cmdlet to get the job options of the Backup scheduled job.The cmdlet output shows that the RunElevated property is set to $True and the JobDefinition property of the job option object is now populated with the scheduled job object for the Backup scheduled job.
PS C:\> 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

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

Voorbeeld 4: De eigenschappen van een gepland taakoptieobject sorteren

PS C:\> $Options = New-ScheduledJobOption -WakeToRun
PS C:\> $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

In dit voorbeeld ziet u hoe u de eigenschappen van een ScheduledJobOptions-object in alfabetische volgorde sorteert, zodat u deze eenvoudig kunt lezen.

De eerste opdracht gebruikt de cmdlet New-ScheduledJobOption 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. Met de opdracht worden de eigenschapsobjecten vervolgens doorverdeeld naar de cmdlet Sort-Object, die de eigenschappen in alfabetische volgorde op naam sorteert, en vervolgens naar de cmdlet Format-Table, 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 te controleren of de waarde is gewijzigd van $False in $True.

Parameters

-ContinueIfGoingOnBattery

Stop de geplande taak niet als de computer overschakelt op accustroom (de verbinding met netstroom wordt verbroken) 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:False
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, bijvoorbeeld met behulp van de functie Uitvoeren in Task Scheduler.

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

De parameter DoNotAllowDemandStart stelt de waarde van de eigenschap DoNotAllowDemandStart van geplande taken in op $True.

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

-HideInTaskScheduler

Geef de taak niet weer in Task Scheduler. Deze waarde is alleen van invloed op de computer waarop de taak wordt uitgevoerd. Geplande taken worden standaard weergegeven in Taakplanner.

Zelfs als een taak verborgen is, kunnen gebruikers de taak weergeven door de optie Weergave verborgen taken weergeven in Taakplanner te selecteren.

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

Type:SwitchParameter
Position:Named
Default value:False
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 gedurende de opgegeven duur niet inactief is voordat de waarde van IdleTimeout verloopt, wordt de geplande taak pas op het volgende geplande tijdstip uitgevoerd, indien van toepassing.

Voer een TimeSpan-object in, zoals een object dat wordt gegenereerd door de cmdlet New-TimeSpan, of voer een waarde in de notatie uren>:<minuten>:<seconden> 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:10 minutes (00:10:00)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdleTimeout

Hiermee geeft u op hoe lang de geplande taak moet wachten totdat de computer inactief is. Als deze time-out verloopt voordat de computer inactief blijft gedurende de periode die is opgegeven met de parameter IdleDuration , wordt de taak niet uitgevoerd tot de volgende geplande tijd, indien van toepassing. De standaardwaarde is één uur.

Voer een TimeSpan-object in, zoals een object dat wordt gegenereerd door de cmdlet New-TimeSpan, of voer een waarde in de notatie uren>:<minuten>:<seconden> 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:1 hour (1:00:00)
Required:False
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:

  • NegerenNieuw. Het nieuwe taakexemplaren wordt genegeerd.
  • Parallel. Het nieuwe taakexemplaren wordt onmiddellijk gestart.
  • Wachtrij. 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 niet wordt voldaan aan de voorwaarden die zijn ingesteld door de parameters RequireNetwork, IdleDuration en IdleTimeout , wordt het taakexemplaren niet gestart, ongeacht de waarde van deze parameter.

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

-RequireNetwork

De geplande taak wordt 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 niet uitgevoerd tot 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:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RestartOnIdleResume

Hiermee wordt een geplande taak opnieuw gestart wanneer de computer inactief is. Deze parameter werkt met de parameter StopIfGoingOffIdle , die een actieve geplande taak onderbreekt als de computer actief wordt (laat de status niet-actief).

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

Type:SwitchParameter
Position:Named
Default value:False
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 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 van Register-ScheduledJob om expliciete referenties voor de taak op te geven.

De parameter RunElevated stelt de waarde van de eigenschap RunElevated van geplande taken in op $True.

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

-StartIfIdle

Hiermee start u de geplande taak als de computer inactief is geweest gedurende de tijd die is opgegeven door de parameter IdleDuration voordat de tijd die is opgegeven door de parameter IdleTimeout is verlopen.

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 niet uitgevoerd tot de volgende geplande begintijd, indien van toepassing.

De parameter StartIfIdle stelt de waarde van de eigenschap StartIfNotIdle van geplande taken in op $False.

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

-StartIfOnBattery

Hiermee start u de geplande taak, zelfs als de computer op batterijen werkt op de geplande begintijd. De standaardwaarde is $False.

De parameter StartIfOnBattery stelt de waarde van de eigenschap StartIfOnBatteries van geplande taken in op $True.

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

-StopIfGoingOffIdle

Hiermee wordt een actieve geplande taak onderbroken als de computer actief (niet-inactief) wordt terwijl de taak wordt uitgevoerd.

Een geplande taak die wordt onderbroken wanneer de computer actief wordt, wordt standaard hervat wanneer de computer weer inactief is. 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:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WakeToRun

Haalt de computer uit de sluimerstand of slaapstand op de geplande begintijd, zodat de taak kan worden uitgevoerd. Als de computer zich op de geplande begintijd in de sluimerstand of slaapstand bevindt, wordt de taak standaard niet uitgevoerd.

De wakeToRun parameter stelt de waarde van de eigenschap WakeToRun van geplande taken in op $True.

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

Invoerwaarden

None

U kunt geen invoer doorsnijden naar deze cmdlet.

Uitvoerwaarden

ScheduledJobOptions

Notities

  • U kunt het ScheduledJobOptions-object dat New-ScheduledJobOption maakt, gebruiken als de waarde van de parameter ScheduledJobOption van de cmdlet Register-ScheduledJob. De parameter ScheduledJobOption kan echter ook een hashtabelwaarde gebruiken waarmee de eigenschappen van het object ScheduledJobOptions en de bijbehorende waarden worden opgegeven, zoals:

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