Sdílet prostřednictvím


New-ScheduledJobOption

Vytvoří objekt, který obsahuje rozšířené možnosti pro naplánovanou úlohu.

Syntaxe

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

Description

Rutina New-ScheduledJobOption vytvoří objekt, který obsahuje pokročilé možnosti pro naplánovanou úlohu.

Pomocí objektu ScheduledJobOptions, který New-ScheduledJobOption vrátí možnosti úlohy pro novou nebo existující naplánovanou úlohu. Alternativně můžete nastavit možnosti úlohy pomocí rutiny Get-ScheduledJobOption k získání možností úlohy existující naplánované úlohy nebo pomocí hodnoty tabulky hash, která představuje možnosti úlohy.

Bez parametrů New-ScheduledJobOption vygeneruje objekt, který obsahuje výchozí hodnoty pro všechny možnosti. Vzhledem k tomu, že lze upravit všechny vlastnosti s výjimkou JobDefinition, můžete výsledný objekt použít jako šablonu a vytvořit standardní objekty možností pro vaši firmu.

Při vytváření plánovaných úloh a nastavení možností naplánované úlohy zkontrolujte výchozí hodnoty všech možností naplánované úlohy. Naplánované úlohy se spouštějí jenom v případě, že jsou splněny všechny podmínky nastavené pro jejich spuštění.

New-ScheduledJobOption je jednou z kolekcí rutin plánování úloh v modulu PSScheduledJob, který je součástí Prostředí Windows PowerShell.

Další informace o naplánovaných úlohách naleznete v tématu o tématech v modulu PSScheduledJob. Importujte modul PSScheduledJob a zadejte: Get-Help about_Scheduled* nebo viz about_Scheduled_Jobs.

Tato rutina byla zavedena ve Windows PowerShellu 3.0.

Příklady

Příklad 1: Vytvoření objektu možnosti naplánované úlohy s výchozími hodnotami

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       :

Tento příkaz vytvoří objekt možnosti naplánované úlohy, který má všechny výchozí hodnoty.

Příklad 2: Vytvoření objektu možnosti naplánované úlohy s vlastními hodnotami

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       :

Následující příkaz vytvoří objekt naplánované úlohy, který vyžaduje síť a spustí naplánovanou úlohu i v případě, že počítač není připojený k napájení střídavého proudu.

Výstup ukazuje, že parametr RequireNetwork změnil hodnotu vlastnosti RunWithoutNetwork na $False a parametr StartIfOnBattery změnil hodnotu vlastnosti StartIfOnBatteries na $True.

Příklad 3: Nastavení možností pro novou naplánovanou úlohu

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

Tento příklad ukazuje, jak použít ScheduledJobOptions objekt, který New-ScheduledJobOption vrátí k nastavení možností pro novou naplánovanou úlohu.

Příklad 4: Seřazení vlastností objektu možnosti naplánované úlohy

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

Tento příklad ukazuje, jak seřadit vlastnosti ScheduledJobOptions objekt v abecedním pořadí pro snadné čtení.

První příkaz používá rutinu New-ScheduledJobOption k vytvoření objektu ScheduledJobOptions. Příkaz používá parametr WakeToRun a uloží výsledný objekt do proměnné $Options.

K získání vlastností $Options jako objektů použije druhý příkaz vlastnost PSObject všech objektů Windows PowerShellu a jeho vlastnosti Properties. Příkaz pak do rutiny Sort-Object řadí objekty vlastnosti, které seřadí vlastnosti podle abecedy podle názvu, a pak do rutiny Format-Table, která zobrazí názvy a hodnoty vlastností v tabulce.

Tento formát usnadňuje vyhledání vlastnosti WakeToRun objektu ScheduledJobOptions v $Options a ověření, že jeho hodnota byla změněna z $False na $True.

Parametry

-ContinueIfGoingOnBattery

Nezastavujte naplánovanou úlohu, pokud počítač během běhu úlohy přepne na napájení baterie (odpojí se od napájení střídavého proudu). Ve výchozím nastavení se naplánované úlohy zastaví, když se počítač odpojí od napájení střídavého proudu.

Parametr ContinueIfGoingOnBattery nastaví hodnotu StopIfGoingOnBatteries naplánovaných úloh na $True.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DoNotAllowDemandStart

Spusťte úlohu pouze v případech, kdy se aktivuje. Uživatelé nemůžou úlohu spustit ručně, například pomocí funkce Spustit v Plánovači úloh.

Tento parametr má vliv pouze na plánovač úloh. Nezabrání uživatelům v použití rutiny Start-Job ke spuštění úlohy.

Parametr DoNotAllowDemandStart nastaví hodnotu Vlastnosti DoNotAllowDemandStart naplánovaných úloh na $True.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-HideInTaskScheduler

Nezobrazovat úlohu v Plánovači úloh Tato hodnota má vliv pouze na počítač, na kterém se úloha spouští. Ve výchozím nastavení se naplánované úkoly zobrazují v Plánovači úloh.

I když je úkol skrytý, můžou uživatelé úkol zobrazit výběrem možnosti Zobrazit skryté úkoly v Plánovači úloh.

Parametr HideInTaskScheduler nastaví hodnotu ShowInTaskScheduler vlastnost naplánovaných úloh na $False.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-IdleDuration

Určuje, jak dlouho musí být počítač nečinný před spuštěním úlohy. Výchozí hodnota je 10 minut. Pokud počítač není nečinný po zadanou dobu, než vyprší hodnota IdleTimeout vyprší, naplánovaná úloha se nespustí až do dalšího naplánovaného času, pokud existuje.

Zadejte objekt TimeSpan, například objekt vygenerovaný rutinou New-TimeSpan, nebo zadejte hodnotu do <hodin>:<minuty>:<sekund> formátu, který se automaticky převede na objekt TimeSpan.

Pokud chcete tuto hodnotu povolit, použijte parametr StartIfIdle. Ve výchozím nastavení je vlastnost StartIfNotIdle naplánovaných úloh nastavena na $True a Prostředí Windows PowerShell ignoruje hodnoty IdleDuration a IdleTimeout hodnoty.

Typ:TimeSpan
Position:Named
Default value:10 minutes (00:10:00)
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-IdleTimeout

Určuje, jak dlouho naplánovaná úloha čeká na nečinnost počítače. Pokud tento časový limit vyprší před tím, než počítač zůstane nečinný po dobu určenou parametrem IdleDuration, úloha se nespustí do dalšího naplánovaného času, pokud existuje. Výchozí hodnota je jedna hodina.

Zadejte objekt TimeSpan, například objekt vygenerovaný rutinou New-TimeSpan, nebo zadejte hodnotu do <hodin>:<minuty>:<sekund> formátu, který se automaticky převede na objekt TimeSpan.

Pokud chcete tuto hodnotu povolit, použijte parametr StartIfIdle. Ve výchozím nastavení je vlastnost StartIfNotIdle naplánovaných úloh nastavena na $True a Prostředí Windows PowerShell ignoruje hodnoty IdleDuration a IdleTimeout hodnoty.

Typ:TimeSpan
Position:Named
Default value:1 hour (1:00:00)
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-MultipleInstancePolicy

Určuje, jak systém reaguje na požadavek na spuštění instance naplánované úlohy, zatímco je spuštěna jiná instance úlohy. Výchozí hodnota je IgnoreNew. Přijatelné hodnoty pro tento parametr jsou:

  • IgnoreNew. Nová instance úlohy se ignoruje.
  • Rovnoběžný. Nová instance úlohy se spustí okamžitě.
  • Fronta. Nová instance úlohy se spustí, jakmile se aktuální instance dokončí.
  • Přestat existovat. Aktuální instance úlohy se zastaví a spustí se nová instance.

Pokud chcete úlohu spustit, musí být splněny všechny podmínky pro plán úlohy. Například pokud podmínky nastavené RequireNetwork, IdleDurationa IdleTimeout parametry nejsou splněny, instance úlohy není spuštěna bez ohledu na hodnotu tohoto parametru.

Typ:TaskMultipleInstancePolicy
Přípustné hodnoty:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:IgnoreNew
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RequireNetwork

Spustí naplánovanou úlohu jenom v případech, kdy jsou k dispozici síťová připojení.

Pokud zadáte tento parametr a síť není k dispozici v naplánovaném čase spuštění, úloha se nespustí do dalšího naplánovaného času spuštění, pokud existuje.

Parametr RequireNetwork nastaví hodnotu Vlastnosti RunWithoutNetwork naplánovaných úloh na $False.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RestartOnIdleResume

Restartuje naplánovanou úlohu, když se počítač stane nečinnou. Tento parametr funguje s parametrem StopIfGoingOffIdle, který pozastaví spuštěnou naplánovanou úlohu, pokud se počítač stane aktivní (ponechá stav nečinnosti).

Parametr RestartOnIdleResume nastaví hodnotu Vlastnosti RestartOnIdleResume naplánovaných úloh na $True.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RunElevated

Spustí naplánovanou úlohu s oprávněními člena skupiny Administrators na počítači, na kterém je úloha spuštěna.

Pokud chcete povolit spuštění naplánované úlohy s oprávněními správce, použijte parametr přihlašovací údaje Register-ScheduledJob k poskytnutí explicitních přihlašovacích údajů pro úlohu.

Parametr RunElevated nastaví hodnotu Vlastnosti RunElevated naplánovaných úloh na $True.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-StartIfIdle

Spustí naplánovanou úlohu, pokud byl počítač nečinný po dobu určenou parametrem IdleDuration před vypršením času určeného parametrem IdleTimeout.

Ve výchozím nastavení jsou parametry IdleDuration a IdleTimeout ignorovány a úloha se spustí v naplánovaném čase spuštění, i když je počítač zaneprázdněný.

Pokud zadáte tento parametr a počítač je zaneprázdněn (nečinný) v naplánovaném čase spuštění, úloha se nespustí až do dalšího naplánovaného času spuštění, pokud existuje.

Parametr StartIfIdle nastaví hodnotu Vlastnosti StartIfNotIdle naplánovaných úloh na $False.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-StartIfOnBattery

Spustí naplánovanou úlohu i v případě, že počítač běží na bateriích v naplánovaném čase spuštění. Výchozí hodnota je $False.

Parametr StartIfOnBattery nastaví hodnotu Vlastnosti StartIfOnBatteries naplánovaných úloh na $True.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-StopIfGoingOffIdle

Pozastaví spuštěnou naplánovanou úlohu, pokud se počítač stane aktivní (nečinný), když je úloha spuštěná.

Ve výchozím nastavení se naplánovaná úloha, která je pozastavena, když se počítač stane aktivní, obnoví, když se počítač znovu stane nečinným. Pokud chcete toto výchozí chování změnit, použijte parametr RestartOnIdleResume.

Parametr StopIfGoingOffIdle nastaví hodnotu StopIfGoingOffIdle vlastnosti naplánovaných úloh na $True.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WakeToRun

Probouzí počítač ze stavu hibernace nebo režimu spánku v naplánovaném čase spuštění, aby mohl úlohu spustit. Pokud je počítač ve výchozím nastavení ve stavu Hibernate nebo Sleep v naplánovaném čase spuštění, úloha se nespustí.

Parametr WakeToRun nastaví hodnotu vlastnosti WakeToRun naplánovaných úloh na $True.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

ScheduledJobOptions

Poznámky

  • Můžete použít ScheduledJobOptions objekt, který New-ScheduledJobOption vytvoří jako hodnotu parametru ScheduledJobOption rutiny Register-ScheduledJob. Parametr ScheduledJobOption však může také vzít hodnotu tabulky hash, která určuje vlastnosti ScheduledJobOptions objektu a jejich hodnoty, například:

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