New-ScheduledJobOption

Tworzy obiekt zawierający zaawansowane opcje zaplanowanego zadania.

Składnia

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

Opis

Polecenie New-ScheduledJobOption cmdlet tworzy obiekt zawierający zaawansowane opcje zaplanowanego zadania.

Możesz użyć obiektu ScheduledJobOptions , który New-ScheduledJobOption powraca do ustawiania opcji zadania dla nowego lub istniejącego zaplanowanego zadania. Alternatywnie można ustawić opcje zadania przy użyciu Get-ScheduledJobOption polecenia cmdlet , aby uzyskać opcje zadania istniejącego zaplanowanego zadania lub przy użyciu wartości tabeli skrótów do reprezentowania opcji zadania.

Bez parametrów New-ScheduledJobOption generuje obiekt, który zawiera wartości domyślne dla wszystkich opcji. Ponieważ można edytować wszystkie właściwości z wyjątkiem właściwości JobDefinition, można użyć wynikowego obiektu jako szablonu i utworzyć standardowe obiekty opcji dla przedsiębiorstwa.

Podczas tworzenia zaplanowanych zadań i ustawiania opcji zaplanowanych zadań przejrzyj wartości domyślne wszystkich zaplanowanych opcji zadań. Zaplanowane zadania są uruchamiane tylko wtedy, gdy wszystkie warunki ustawione dla ich wykonywania są spełnione.

New-ScheduledJobOptionjest jedną z kolekcji poleceń cmdlet planowania zadań w module PSScheduledJob, który znajduje się w Windows PowerShell.

Aby uzyskać więcej informacji na temat zaplanowanych zadań, zobacz Tematy o tematach w module PSScheduledJob. Zaimportuj moduł PSScheduledJob, a następnie wpisz: Get-Help about_Scheduled* lub zobacz about_Scheduled_Jobs.

To polecenie cmdlet zostało wprowadzone w Windows PowerShell 3.0.

Przykłady

Przykład 1. Tworzenie obiektu opcji zaplanowanego zadania z wartościami domyślnymi

W tym przykładzie jest tworzony obiekt opcji zaplanowanego zadania z wartościami domyślnymi.

New-ScheduledJobOption

Przykład 2. Tworzenie obiektu opcji zaplanowanego zadania z wartościami niestandardowymi

W tym przykładzie tworzony jest obiekt opcji zaplanowanego zadania z wartościami niestandardowymi

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       :

Następujące polecenie tworzy zaplanowany obiekt zadania, który wymaga sieci i uruchamia zaplanowane zadanie, nawet jeśli komputer nie jest podłączony do zasilania ac.

Dane wyjściowe pokazują, że parametr RequireNetwork zmienił wartość właściwości RunWithoutNetwork na $false , a parametr StartIfOnBattery zmienił wartość właściwości StartIfOnBatteries na $true.

Przykład 3. Ustawianie opcji dla nowego zaplanowanego zadania

W tym przykładzie pokazano, jak użyć obiektu ScheduledJobOptions , który New-ScheduledJobOption powraca do ustawiania opcji dla nowego zaplanowanego zadania.

$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

Pierwsze polecenie tworzy obiekt ScheduledJobOptions z parametrem RunElevated . Zapisuje obiekt w zmiennej $runAsAdmin .

Drugie polecenie używa Register-ScheduledJob polecenia cmdlet do utworzenia nowego zaplanowanego zadania. Wartość parametru ScheduledJobOption jest obiektem opcji w wartości zmiennej $runAsAdmin .

Trzecie polecenie używa Get-ScheduledJobOption polecenia cmdlet , aby uzyskać opcje zadania zaplanowanego zadania Tworzenia kopii zapasowej. Dane wyjściowe polecenia cmdlet pokazują, że właściwość RunElevated jest ustawiona na $true , a właściwość JobDefinition obiektu opcji zadania jest teraz wypełniana zaplanowanym obiektem zadania dla zaplanowanego zadania tworzenia kopii zapasowej.

Przykład 4. Sortowanie właściwości obiektu opcji zaplanowanego zadania

W tym przykładzie pokazano, jak sortować właściwości obiektu ScheduledJobOptions w kolejności alfabetycznej, aby ułatwić odczytywanie.

$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

Pierwsze polecenie używa New-ScheduledJobOption polecenia cmdlet do utworzenia obiektu ScheduledJobOptions . Polecenie używa parametru WakeToRun i zapisuje wynikowy obiekt w zmiennej $options .

Aby uzyskać właściwości $Options jako obiekty, drugie polecenie używa właściwości PSObject wszystkich obiektów Windows PowerShell i jego właściwości Properties. Następnie polecenie potokuje obiekty właściwości do Sort-Object polecenia cmdlet, które sortuje właściwości w kolejności alfabetycznej według nazwy, a następnie do Format-Table polecenia cmdlet, które wyświetla nazwy i wartości właściwości w tabeli.

Ten format znacznie ułatwia znalezienie właściwości WakeToRun obiektu ScheduledJobOptions w $options systemie i sprawdzenie, czy jego wartość została zmieniona z $false na $true.

Parametry

-ContinueIfGoingOnBattery

Nie należy zatrzymywać zaplanowanego zadania, jeśli komputer przełącza się na zasilanie baterii (odłącza się od zasilania prądu przemiennego), gdy zadanie jest uruchomione. Domyślnie zaplanowane zadania są zatrzymywane, gdy komputer rozłącza się z zasilaniem prądu przemiennego.

Parametr ContinueIfGoingOnBattery ustawia wartość właściwości StopIfGoingOnBatteries zaplanowanych zadań na $truewartość .

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

Uruchom zadanie tylko wtedy, gdy zostanie ono wyzwolone. Użytkownicy nie mogą uruchomić zadania ręcznie, na przykład za pomocą funkcji Uruchom w harmonogramie zadań.

Ten parametr ma wpływ tylko na harmonogram zadań. Nie uniemożliwia użytkownikom korzystania z Start-Job polecenia cmdlet w celu uruchomienia zadania.

Parametr DoNotAllowDemandStart ustawia wartość właściwości DoNotAllowDemandStart zaplanowanych zadań na $truewartość .

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

Nie wyświetlaj zadania w harmonogramie zadań. Ta wartość ma wpływ tylko na komputer, na którym jest uruchamiane zadanie. Domyślnie zaplanowane zadania są wyświetlane w harmonogramie zadań.

Nawet jeśli zadanie jest ukryte, użytkownicy mogą wyświetlać zadanie, wybierając opcję Pokaż ukryte zadania w harmonogramie zadań.

Parametr HideInTaskScheduler ustawia wartość właściwości ShowInTaskScheduler zaplanowanych zadań na $falsewartość .

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

Określa, jak długo komputer musi być bezczynny przed uruchomieniem zadania. Wartość domyślna to 10 minut. Jeśli komputer nie jest bezczynny przez określony czas przed wygaśnięciem wartości IdleTimeout , zaplanowane zadanie nie zostanie uruchomione do następnego zaplanowanego czasu, jeśli istnieje.

Wprowadź obiekt TimeSpan , taki jak obiekt wygenerowany przez New-TimeSpan polecenie cmdlet, lub wprowadź wartość w <hours>formacie :<minutes>:<seconds> format, który jest automatycznie konwertowany na obiekt TimeSpan .

Aby włączyć tę wartość, użyj parametru StartIfIdle . Domyślnie właściwość StartIfNotIdle zaplanowanych zadań jest ustawiona na $true i Windows PowerShell ignoruje wartości IdleDuration i IdleTimeout.

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

Określa, jak długo zaplanowane zadanie czeka na komputer w stanie bezczynności. Jeśli ten limit czasu wygaśnie, zanim komputer pozostanie bezczynny przez okres określony przez parametr IdleDuration , zadanie nie zostanie uruchomione do następnego zaplanowanego czasu, jeśli istnieje. Wartość domyślna to jedna godzina.

Wprowadź obiekt TimeSpan , taki jak obiekt wygenerowany przez New-TimeSpan polecenie cmdlet, lub wprowadź wartość w <hours>formacie :<minutes>:<seconds> format, który jest automatycznie konwertowany na obiekt TimeSpan .

Aby włączyć tę wartość, użyj parametru StartIfIdle . Domyślnie właściwość StartIfNotIdle zaplanowanych zadań jest ustawiona na $true i Windows PowerShell ignoruje wartości IdleDuration i IdleTimeout.

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

Określa, w jaki sposób system odpowiada na żądanie uruchomienia wystąpienia zaplanowanego zadania, gdy jest uruchomione inne wystąpienie zadania. Wartość domyślna to IgnoreNew. Dopuszczalne wartości dla tego parametru to:

  • IgnoreNew — Nowe wystąpienie zadania jest ignorowane.
  • Parallel — Nowe wystąpienie zadania jest uruchamiane natychmiast.
  • Queue — Nowe wystąpienie zadania zostanie uruchomione zaraz po zakończeniu bieżącego wystąpienia.
  • StopExisting — Bieżące wystąpienie zadania zostanie zatrzymane i zostanie uruchomione nowe wystąpienie.

Aby uruchomić zadanie, należy spełnić wszystkie warunki harmonogramu zadań. Jeśli na przykład warunki ustawione przez parametry RequireNetwork, IdleDuration i IdleTimeout nie są spełnione, wystąpienie zadania nie zostanie uruchomione, niezależnie od wartości tego parametru.

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

Uruchamia zaplanowane zadanie tylko wtedy, gdy połączenia sieciowe są dostępne.

Jeśli określisz ten parametr i sieć nie będzie dostępna w zaplanowanym czasie rozpoczęcia, zadanie nie zostanie uruchomione do następnego zaplanowanego czasu rozpoczęcia, jeśli istnieje.

Parametr RequireNetwork ustawia wartość właściwości RunWithoutNetwork zaplanowanych zadań na $falsewartość .

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

Uruchamia ponownie zaplanowane zadanie, gdy komputer stanie się bezczynny. Ten parametr działa z parametrem StopIfGoingOffIdle , który zawiesza uruchomione zaplanowane zadanie, jeśli komputer stanie się aktywny (pozostawia stan bezczynności).

Parametr RestartOnIdleResume ustawia wartość właściwości RestartOnIdleResume zaplanowanych zadań na $truewartość .

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

Uruchamia zaplanowane zadanie z uprawnieniami członka grupy Administratorzy na komputerze, na którym jest uruchamiane zadanie.

Aby umożliwić uruchamianie zaplanowanego zadania z uprawnieniami administratora, użyj parametru Credential polecenia Register-ScheduledJob , aby podać jawne poświadczenia dla zadania.

Parametr RunElevated ustawia wartość właściwości RunElevated zaplanowanych zadań na $true.

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

Uruchamia zaplanowane zadanie, jeśli komputer był bezczynny przez czas określony przez parametr IdleDuration przed upływem czasu określonego przez parametr IdleTimeout .

Domyślnie parametry IdleDuration i IdleTimeout są ignorowane, a zadanie jest uruchamiane w zaplanowanym czasie rozpoczęcia, nawet jeśli komputer jest zajęty.

Jeśli określisz ten parametr, a komputer jest zajęty (bezczynny) w zaplanowanym czasie rozpoczęcia, zadanie nie zostanie uruchomione do następnego zaplanowanego czasu rozpoczęcia, jeśli istnieje.

Parametr StartIfIdle ustawia wartość właściwości StartIfNotIdle zaplanowanych zadań na $falsewartość .

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

Uruchamia zaplanowane zadanie, nawet jeśli komputer jest uruchomiony na bateriach w zaplanowanym czasie rozpoczęcia. Wartość domyślna to $false.

Parametr StartIfOnBattery ustawia wartość właściwości StartIfOnBatteries zaplanowanych zadań na $truewartość .

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

Zawiesza uruchomione zaplanowane zadanie, jeśli komputer staje się aktywny (nie bezczynny), gdy zadanie jest uruchomione.

Domyślnie zaplanowane zadanie, które jest zawieszone, gdy komputer staje się aktywny wznawia, gdy komputer ponownie staje się bezczynny. Aby zmienić to zachowanie domyślne, użyj parametru RestartOnIdleResume .

Parametr StopIfGoingOffIdle ustawia wartość właściwości StopIfGoingOffIdle zaplanowanych zadań na $truewartość .

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

Wznawia komputer ze stanu hibernacji lub uśpienia w zaplanowanym czasie rozpoczęcia, aby mógł uruchomić zadanie. Domyślnie, jeśli komputer jest w stanie Hibernacji lub Uśpienia w zaplanowanym czasie rozpoczęcia, zadanie nie jest uruchamiane.

Parametr WakeToRun ustawia wartość właściwości WakeToRun zaplanowanych zadań na $true.

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

Dane wejściowe

Brak

Nie można przekazać potoku danych wejściowych do tego polecenia cmdlet.

Dane wyjściowe

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Uwagi

  • Można użyć obiektu ScheduledJobOptions, który New-ScheduledJobOption tworzy jako wartość parametru Register-ScheduledJob ScheduledJobOption polecenia cmdlet. Jednak parametr ScheduledJobOption może również przyjmować wartość tabeli skrótu, która określa właściwości obiektu ScheduledJobOptions i ich wartości, takie jak:

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