Set-ScheduledJobOption

Zmienia opcje zadania zaplanowanego zadania.

Składnia

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

Opis

Polecenie Set-ScheduledJobOptions cmdlet zmienia opcje zadań zaplanowanych zadań.

Aby zmienić opcje zaplanowanego zadania, rozpocznij od użycia Get-ScheduledJobOption polecenia cmdlet , aby uzyskać opcje zadania zaplanowanego zadania. Następnie należy przekazać opcje do Set-ScheduledJobOption zmiennej lub zapisać je i użyć parametru Set-ScheduledJobOption InputObject polecenia cmdlet, aby zidentyfikować opcje. Użyj pozostałych parametrów, Set-ScheduledJobOption aby zmienić opcje zadania.

Aby włączyć opcję zadania, użyj parametru, który ustawia tę opcję. Aby wyłączyć opcję, wpisz nazwę parametru, dwukropek (:) i $false. Aby na przykład wyłączyć opcję RunElevated , wpisz -RunElevated:$false.

Każdy obiekt opcji zadania zawiera właściwość JobDefinition zawierającą zaplanowane zadanie, więc skojarzenie z zaplanowanym zadaniem jest zachowywane po zmianie opcji zadania.

Opcje zaplanowanego zadania określają sposób uruchamiania zadania podczas jego uruchamiania przez harmonogram zadań. Te opcje nie mają zastosowania podczas uruchamiania zaplanowanego zadania za pomocą Start-Job polecenia cmdlet .

Set-ScheduledJobOption jest jedną z kolekcji poleceń cmdlet planowania zadań w module PSScheduledJob, który znajduje się w programie Windows PowerShell.

Aby uzyskać więcej informacji na temat zaplanowanych zadań, zobacz temat Informacje 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 programie Windows PowerShell 3.0.

Przykłady

Przykład 1. Zmienianie opcji zadania

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          :

W tym przykładzie pokazano, jak zmienić opcje zaplanowanego zadania na komputerze lokalnym.

Pierwsze polecenie używa Get-ScheduledJobOption polecenia cmdlet , aby uzyskać opcje zadania zaplanowanego zadania DeployPackage. Dane wyjściowe pokazują, że właściwości WakeToRun i RunElevated mają wartość $false.

Drugie polecenie używa Set-ScheduledJobOpton polecenia cmdlet, aby zmienić opcje zadania, więc wartości właściwości WakeToRun i RunWithoutNetwork są $True. Polecenie używa parametru Passthru do zwrócenia wyzwalacza po zmianie.

To polecenie nie jest wymagane; jest uwzględniana tylko w celu pokazania efektu zmiany opcji.

Przykład 2. Zmiana opcji dla wszystkich zdalnych zaplanowanych zadań

Invoke-Command -Computer "Server01" -ScriptBlock {
    Get-ScheduledJob |
        Get-ScheduledJobOption |
        Set-ScheduledJobOption -IdleTimeout 2:00:00
}

To polecenie zmienia wartość idleTimeout z jednej godziny (wartość domyślna) na dwie godziny we wszystkich zaplanowanych zadaniach na komputerze Server01.

Polecenie używa Invoke-Command polecenia cmdlet do uruchomienia polecenia na komputerze Server01.

Zdalne polecenie rozpoczyna się od Get-ScheduledJob polecenia, które pobiera wszystkie zaplanowane zadania na komputerze. Zaplanowane zadania są przesyłane potokami do Get-ScheduledJobOption polecenia cmdlet, które pobiera opcje zadań zaplanowanych. Każdy obiekt opcji zadania zawiera właściwość JobDefinition zawierającą zaplanowane zadanie, więc obiekt options pozostaje skojarzony z zaplanowanym zadaniem nawet wtedy, gdy zostanie zmieniony.

Wyzwalacze zadania są przesyłane potokami do Set-ScheduledJobOption polecenia cmdlet, które zmienia wartość opcji IdleTimeout na dwie godziny (2:00:00).

Parametry

-ContinueIfGoingOnBattery

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdleDuration

Określa, jak długo komputer musi być w stanie bezczynności przed uruchomieniem zadania. Domyślna wartość wynosi 10 minut. Jeśli komputer nie jest bezczynny dla określonego czasu trwania przed wygaśnięciem wartości IdleTimeout , zaplanowane zadanie nie zostanie uruchomione do następnego zaplanowanego czasu, jeśli istnieje.

Wprowadź obiekt przedziału New-TimeSpan czasu, taki jak jeden wygenerowany przez polecenie cmdlet, lub wprowadź wartość w <hours>:<minutes>:<seconds> formacie, 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 , a program Windows PowerShell ignoruje wartości IdleDuration i IdleTimeout.

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

-IdleTimeout

Określa, jak długo komputer musi być w stanie bezczynności przed uruchomieniem zadania. Domyślna wartość wynosi 10 minut. Jeśli komputer nie jest bezczynny dla określonego czasu trwania przed wygaśnięciem wartości IdleTimeout , zaplanowane zadanie nie zostanie uruchomione do następnego zaplanowanego czasu, jeśli istnieje.

Wprowadź obiekt przedziału New-TimeSpan czasu, taki jak jeden wygenerowany przez polecenie cmdlet, lub wprowadź wartość w <hours>:<minutes>:<seconds> formacie, 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, a program Windows PowerShell ignoruje wartości IdleDuration i IdleTimeout .

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

-InputObject

Określa opcje zadania. Wprowadź zmienną zawierającą obiekty ScheduledJobOptions lub wpisz polecenie lub wyrażenie, które pobiera obiekty ScheduledJobOptions , takie jak Get-ScheduledJobOption polecenie. Możesz również przekazać obiekt ScheduledJobOptions do Set-ScheduledJobOptionobiektu .

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions
Position:0
Default value:None
Required:True
Accept pipeline input:True
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. Dopuszczalne wartości tego parametru to:

  • IgnoreNew — Nowe wystąpienie zadania jest ignorowane. Jest to wartość domyślna.
  • Parallel — Nowe wystąpienie zadania jest uruchamiane natychmiast.
  • Queue — Nowe wystąpienie zadania jest uruchamiane natychmiast po zakończeniu bieżącego wystąpienia.
  • StopExisting — Bieżące wystąpienie zadania zatrzymuje się i uruchamia 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Zwraca obiekt reprezentujący element, z którym pracujesz. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RestartOnIdleResume

Uruchamia 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunElevated

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

Aby włączyć zaplanowane zadanie do uruchomienia z uprawnieniami Administracja istratora, 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
Required:False
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 rozpoczyna się w zaplanowanym czasie rozpoczęcia, nawet jeśli komputer jest zajęty.

Jeśli określisz ten parametr, a komputer jest zajęty (nie 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 $false.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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. Domyślna wartość to $false.

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

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

-StopIfGoingOffIdle

Zawiesza uruchomione zaplanowane zadanie, jeśli komputer stanie 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 stanie 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WakeToRun

Wznawia komputer ze stanu Hibernate 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 zostanie uruchomione.

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

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

Dane wejściowe

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Do tego polecenia cmdlet można przekazać obiekt opcji zaplanowanego zadania.

Dane wyjściowe

None

Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca opcje zadania, które zostały zmienione.