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 cmdlet New-ScheduledJobOption tworzy obiekt zawierający zaawansowane opcje zaplanowanego zadania.
Można użyć obiektu ScheduledJobOptions, który New-ScheduledJobOption powróci do ustawienia opcji zadania dla nowego lub istniejącego zaplanowanego zadania. Alternatywnie można ustawić opcje zadania przy użyciu polecenia cmdlet Get-ScheduledJobOption w celu pobrania opcji zadania istniejącego zaplanowanego zadania lub przy użyciu wartości tabeli skrótu do reprezentowania opcji zadania.
Bez parametrów New-ScheduledJobOption generuje obiekt zawierający wartości domyślne dla wszystkich opcji. Ponieważ wszystkie właściwości z wyjątkiem właściwości JobDefinition można edytować, można użyć wynikowego obiektu jako szablonu i utworzyć standardowe obiekty opcji dla przedsiębiorstwa.
Podczas tworzenia zaplanowanych zadań i ustawiania opcji zaplanowanego zadania 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-ScheduledJobOption jest jedną z kolekcji poleceń cmdlet planowania zadań w module PSScheduledJob, który jest zawarty 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. Tworzenie obiektu opcji zaplanowanego zadania z wartościami domyślnymi
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 :
To polecenie tworzy obiekt opcji zaplanowanego zadania, który ma wszystkie wartości domyślne.
Przykład 2. Tworzenie obiektu opcji zaplanowanego zadania z wartościami niestandardowymi
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 :
Następujące polecenie tworzy obiekt zaplanowanego 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
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
W tym przykładzie pokazano, jak użyć obiektu
Przykład 4. Sortowanie właściwości obiektu opcji zaplanowanego zadania
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
W tym przykładzie pokazano, jak sortować właściwości obiektu ScheduledJobOptions w kolejności alfabetycznej w celu łatwego odczytania.
Pierwsze polecenie używa polecenia cmdlet New-ScheduledJobOption w celu 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 programu Windows PowerShell i jego właściwości Właściwości. Następnie polecenie potokuje obiekty właściwości do polecenia cmdlet Sort-Object, które sortuje właściwości w kolejności alfabetycznej według nazwy, a następnie do polecenia cmdlet Format-Table, 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 oraz 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 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ń do $True.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 polecenia cmdlet Start-Job w celu uruchomienia zadania.
Parametr DoNotAllowDemandStart ustawia wartość właściwości DoNotAllowDemandStart zaplanowanych zadań do $True.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 $False.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-IdleDuration
Określa, jak długo komputer musi być w stanie bezczynności 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
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.
Typ: | TimeSpan |
Position: | Named |
Domyślna wartość: | 10 minutes (00:10:00) |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-IdleTimeout
Określa, jak długo zaplanowane zadanie czeka na bezczynność komputera. 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
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.
Typ: | TimeSpan |
Position: | Named |
Domyślna wartość: | 1 hour (1:00:00) |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 tego parametru to:
- IgnorujNowe. Nowe wystąpienie zadania jest ignorowane.
- Równoległy. Nowe wystąpienie zadania jest uruchamiane natychmiast.
- Kolejka. Nowe wystąpienie zadania jest uruchamiane natychmiast po zakończeniu bieżącego wystąpienia.
- Przestań istnieć. 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 parametr RequireNetwork, IdleDurationi IdleTimeout parametry nie są spełnione, wystąpienie zadania nie zostanie uruchomione, niezależnie od wartości tego parametru.
Typ: | TaskMultipleInstancePolicy |
Dopuszczalne wartości: | None, IgnoreNew, Parallel, Queue, StopExisting |
Position: | Named |
Domyślna wartość: | IgnoreNew |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 $False.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 $True.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-RunElevated
Uruchamia zaplanowane zadanie z uprawnieniami członka grupy Administratorzy na komputerze, na którym jest uruchamiane zadanie.
Aby włączyć zaplanowane zadanie do uruchomienia z uprawnieniami administratora, użyj credential parametru Register-ScheduledJob, aby podać jawne poświadczenia dla zadania.
Parametr RunElevated ustawia wartość właściwości RunElevated zaplanowanych zadań na $True.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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ń do $False.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 $True.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 domyślne zachowanie, użyj parametru RestartOnIdleResume.
Parametr StopIfGoingOffIdle ustawia wartość właściwości StopIfGoingOffIdle zaplanowanych zadań na $True.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 $True.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.
Dane wyjściowe
Uwagi
Można użyć obiektu scheduledJobOptions
New-ScheduledJobOption tworzy jako wartość parametruScheduledJobOption polecenia cmdlet Register-ScheduledJob. Jednak parametr ScheduledJobOption może również przyjąć 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"}
Linki powiązane
- about_Scheduled_Jobs
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob