Set-ScheduledJob
Zmiany zaplanowanych zadań.
Składnia
Set-ScheduledJob
[-Name <String>]
[-ScriptBlock <ScriptBlock>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-Name <String>]
[-FilePath <String>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-InputObject] <ScheduledJobDefinition>
[-ClearExecutionHistory]
[-PassThru]
[<CommonParameters>]
Opis
Polecenie Set-ScheduledJob
cmdlet zmienia właściwości zaplanowanych zadań, takich jak polecenia uruchamiane przez zadania lub poświadczenia wymagane do uruchomienia zadania. Można go również użyć do wyczyszczenia historii wykonywania zaplanowanego zadania.
Aby użyć tego polecenia cmdlet, zacznij od użycia Get-ScheduledJob
polecenia cmdlet w celu pobrania zaplanowanego zadania. Następnie należy przekazać zadanie zaplanowane do Set-ScheduledJob
zmiennej lub zapisać je w zmiennej i użyć parametru InputObject w celu zidentyfikowania zadania. Użyj pozostałych parametrów , Set-ScheduledJob
aby zmienić właściwości zadania lub wyczyścić historię wykonywania.
Chociaż można użyć Set-ScheduledJob
polecenia , aby zmienić wyzwalacze i opcje zaplanowanego zadania, Add-JobTrigger
polecenia cmdlet , Set-JobTrigger
i Set-ScheduledJobOption
zapewniają znacznie łatwiejsze sposoby wykonywania tych zadań. Aby utworzyć nowe zaplanowane zadanie, użyj Register-ScheduledJob
polecenia cmdlet .
Parametr Set-ScheduledJob
Trigger polecenia dodaje co najmniej jeden wyzwalacz zadania, które uruchamiają zadanie.
Parametr Trigger jest opcjonalny, więc można dodawać wyzwalacze podczas tworzenia zaplanowanego zadania, dodawać wyzwalacze zadania później, dodać parametr RunNow , aby natychmiast uruchomić zadanie, użyć Start-Job
polecenia cmdlet , aby natychmiast uruchomić zadanie w dowolnym momencie, lub zapisać nierozpoznane zaplanowane zadanie jako szablon dla innych zadań.
Set-ScheduledJob
jest 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. Zmiana skryptu uruchamianego przez zadanie
W tym przykładzie pokazano, jak zmienić skrypt uruchamiany w zaplanowanym zadaniu.
Get-ScheduledJob -Name "Inventory"
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-Inventory.ps1 True
Get-ScheduledJob -Name "Inventory" | Set-ScheduledJob -FilePath "C:\Scripts\Get-FullInventory.ps1" -Passthru
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-FullInventory.ps1 True
Pierwsze polecenie używa Get-ScheduledJob
polecenia cmdlet do pobrania zaplanowanego zadania spisu. Dane wyjściowe pokazują, że zadanie uruchamia skrypt Get-Inventory.ps1.
Drugie polecenie używa Get-ScheduledJob
polecenia cmdlet , aby pobrać zaplanowane zadanie spisu. Operator potoku (|
) wysyła zaplanowane zadanie do Set-ScheduledJob
polecenia cmdlet . Polecenie Set-ScheduledJob
cmdlet używa parametru Script, aby określić nowy skrypt . Get-FullInventory.ps1
Polecenie używa parametru Passthru do zwrócenia zaplanowanego zadania po zmianie.
To polecenie nie jest wymagane; Jest on uwzględniany tylko w celu pokazania efektu zmiany skryptu.
Przykład 2. Usuwanie historii wykonywania zaplanowanego zadania
W tym przykładzie usunięto bieżącą historię wykonywania i zapisano wyniki zadania dla zaplanowanego zadania.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Polecenie używa Get-ScheduledJob
polecenia cmdlet do pobrania zaplanowanego zadania BackupArchive. Operator potoku (|
) wysyła zadanie do Set-ScheduledJob
polecenia cmdlet w celu jego zmiany. Polecenie Set-ScheduledJob
cmdlet używa parametru ClearExecutionHistory do usunięcia historii wykonywania i zapisania wyników.
Aby uzyskać więcej informacji na temat historii wykonywania i zapisanych wyników zaplanowanych zadań, zobacz about_Scheduled_Jobs.
Przykład 3: Zmiana zaplanowanych zadań na komputerze zdalnym
To polecenie zmienia skrypt inicjowania we wszystkich zaplanowanych zadaniach na komputerach zdalnych.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
Polecenie używa Invoke-Command
polecenia cmdlet do uruchomienia polecenia na komputerach Server01 i Server02.
Zdalne polecenie rozpoczyna się od Get-ScheduledJob
polecenia, które pobiera wszystkie zaplanowane zadania na komputerze. Zaplanowane zadania są przesyłane potokami do Set-ScheduledJob
polecenia cmdlet, co powoduje zmianę skryptu inicjowania na SetForRun.ps1
.
Parametry
Określa wartości parametrów skryptu, który jest określony przez parametr FilePath lub dla polecenia określonego przez scriptBlock parametru.
Type: | Object[] |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Usuwa bieżącą historię wykonywania i zapisane wyniki zaplanowanego zadania.
Historia wykonywania zadania i wyniki zadania są zapisywane wraz z zaplanowanym zadaniem w $home\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
katalogu na komputerze, na którym zostało utworzone zadanie. Aby wyświetlić historię wykonywania, użyj Get-Job
polecenia cmdlet . Aby uzyskać wyniki zadania, użyj Receive-Job
polecenia cmdlet .
Ten parametr nie ma wpływu na zdarzenia zapisywane przez harmonogram zadań w dziennikach zdarzeń Windows i nie zatrzymuje Windows PowerShell zapisywania wyników zadania. Aby zarządzać liczbą zapisanych wyników zadania, użyj parametru MaxResultCount .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa konto użytkownika, które ma uprawnienia do uruchamiania zaplanowanego zadania. Wartość domyślna to użytkownik bieżący.
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential , taki jak jeden z Get-Credential
polecenia cmdlet. Jeśli wprowadzisz tylko nazwę użytkownika, zostanie wyświetlony monit o podanie hasła.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa skrypt uruchamiany przez zaplanowane zadanie. Wprowadź ścieżkę do pliku .ps1 na komputerze lokalnym. Aby określić wartości domyślne parametrów skryptu, użyj parametru ArgumentList . Każde zaplanowane zadanie musi mieć wartość ScriptBlock lub FilePath .
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa w pełni kwalifikowaną ścieżkę do skryptu Windows PowerShell (.ps1
). Skrypt inicjowania jest uruchamiany w sesji utworzonej dla zadania w tle przed poleceniami określonymi przez parametr ScriptBlock lub skryptem określonym przez parametr FilePath . Skrypt inicjowania służy do konfigurowania sesji, takiej jak dodawanie plików, funkcji lub aliasów, tworzenie katalogów lub sprawdzanie wymagań wstępnych.
Aby określić skrypt, który uruchamia podstawowe polecenia zadania, użyj parametru FilePath .
Jeśli skrypt inicjowania generuje błąd, w tym błąd niepowodujący zakończenia, bieżące wystąpienie zaplanowanego zadania nie zostanie uruchomione i jego stan to Niepowodzenie.
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa zaplanowane zadanie do zmiany. Wprowadź zmienną zawierającą obiekty ScheduledJobDefinition lub wpisz polecenie lub wyrażenie, które pobiera obiekty ScheduledJobDefinition , takie jak Get-ScheduledJob
polecenie. Można również przekazać potok obiektu ScheduledJobDefinition do elementu Set-ScheduledJob
.
Jeśli określisz wiele zaplanowanych zadań, Set-ScheduledJob
wprowadza te same zmiany we wszystkich zadaniach.
Type: | Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Określa, ile wpisów wyników zadania jest utrzymywanych dla zaplanowanego zadania. Wartość domyślna to 32.
Windows PowerShell zapisuje historię wykonywania i wyniki każdego wyzwalanego wystąpienia zaplanowanego zadania na dysku. Wartość tego parametru określa liczbę wyników wystąpienia zadania, które są zapisywane dla tego zaplanowanego zadania. Gdy liczba wyników wystąpienia zadania przekracza tę wartość, Windows PowerShell usuwa wyniki najstarszego wystąpienia zadania, aby zapewnić miejsce na wyniki najnowszego wystąpienia zadania.
Historia wykonywania zadania i wyniki zadania są zapisywane w $home\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
katalogi na komputerze, na którym utworzono zadanie. Aby wyświetlić historię wykonywania, użyj Get-Job
polecenia cmdlet . Aby uzyskać wyniki zadania, użyj Receive-Job
polecenia cmdlet .
Parametr MaxResultCount ustawia wartość właściwości ExecutionHistoryLength zaplanowanego zadania.
Aby usunąć bieżącą historię wykonywania i wyniki zadania, użyj parametru ClearExecutionHistory .
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa nową nazwę zaplanowanego zadania i wystąpień zaplanowanego zadania. Nazwa musi być unikatowa na komputerze lokalnym.
Aby zidentyfikować zaplanowane zadanie do zmiany, użyj parametru InputObject lub potoku zaplanowanego zadania z Get-ScheduledJob
do Set-ScheduledJob
.
Ten parametr nie zmienia nazw wystąpień zadań na dysku. Ma to wpływ tylko na wystąpienia zadań, które są uruchamiane po zakończeniu tego polecenia.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Zwraca obiekt reprezentujący element, z którym pracujesz. Domyślnie to polecenie cmdlet nie generuje żadnego wyniku.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Uruchamia zaplanowane zadanie w procesie 32-bitowym.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Służy do określania częstotliwości uruchamiania zadania. Na przykład użyj tej opcji, aby uruchomić zadanie co 15 minut.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Uruchamia zadanie natychmiast po uruchomieniu Set-ScheduledJob
polecenia cmdlet. Ten parametr eliminuje konieczność wyzwalania harmonogramu zadań w celu uruchomienia skryptu Windows PowerShell natychmiast po rejestracji i nie wymaga od użytkowników utworzenia wyzwalacza określającego datę i godzinę rozpoczęcia.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Ustawia opcje zaplanowanego zadania. Wprowadź obiekt ScheduledJobOptions , taki jak obiekt utworzony za pomocą polecenia cmdlet lub wartość tabeli skrótu New-ScheduledJobOption
.
Opcje zaplanowanego zadania można ustawić podczas rejestrowania zaplanowanego zadania lub ustawiania lub zmieniania opcji za pomocą Set-ScheduledJobOption
poleceń cmdlet lub Set-ScheduledJob
.
Wiele opcji i ich wartości domyślnych określa, czy i kiedy zaplanowane zadanie jest uruchamiane. Przed zaplanowaniem zadania zapoznaj się z tymi opcjami. Aby uzyskać opis opcji zaplanowanego zadania, w tym wartości domyślne, zobacz New-ScheduledJobOption
.
Aby przesłać tabelę skrótów, użyj następujących kluczy. W poniższej tabeli skrótów klucze są wyświetlane z ich wartościami domyślnymi.
@{# Power SettingsStartIfOnBattery=$False;StopIfGoingOnBattery=$True; WakeToRun=$False; # Idle SettingsStartIfNotIdle=$False; IdleDuration="00:10:00"; IdleTimeout="01:00:00"; StopIfGoingOffIdle=$True; RestartOnIdleResume=$False;# Security settingsShowInTaskScheduler=$TrueRunElevated=$False;# MiscRunWithoutNetwork=$False;DoNotAllowDemandStart=$False;MultipleInstancePolicy=IgnoreNew# Can be IgnoreNew, Parallel, Queue, StopExisting}
Type: | Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa polecenia uruchamiane przez zaplanowane zadanie. Należy ująć polecenia w nawiasy klamrowe ({}
), aby utworzyć blok skryptu. Aby określić wartości domyślne parametrów polecenia, użyj parametru ArgumentList .
Każde Register-ScheduledJob
polecenie musi używać parametrów ScriptBlock lub FilePath .
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa mechanizm używany do uwierzytelniania poświadczeń użytkownika. Dopuszczalne wartości dla tego parametru to:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Wartość domyślna to Default
. Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationMechanism Enumeration in the PowerShell SDK (Wyliczenie AuthenticationMechanism w zestawie SDK programu PowerShell).
Przestroga
Uwierzytelnianie dostawcy obsługi zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do komputera zdalnego do uwierzytelnienia, jest przeznaczone dla poleceń wymagających uwierzytelniania w więcej niż jednym zasobie, takich jak uzyskiwanie dostępu do zdalnego udziału sieciowego. Ten mechanizm zwiększa ryzyko bezpieczeństwa operacji zdalnej. W przypadku naruszenia zabezpieczeń komputera zdalnego poświadczenia przekazywane do niego mogą służyć do kontrolowania sesji sieciowej.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Określa wyzwalacze zaplanowanego zadania. Wprowadź co najmniej jeden obiekt ScheduledJobTrigger , taki jak obiekty zwracane New-JobTrigger
przez polecenie cmdlet lub tabela skrótów kluczy i wartości wyzwalacza zadania.
Wyzwalacz zadania uruchamia zaplanowane zadanie automatycznie przy jednorazowym lub cyklicznym harmonogramie lub w przypadku wystąpienia zdarzenia.
Wyzwalacze zadań są opcjonalne. Wyzwalacz można dodać podczas tworzenia zaplanowanego zadania, użyć Add-JobTrigger
poleceń cmdlet lub Set-ScheduledJob
do późniejszego dodania wyzwalaczy lub użyć Start-Job
polecenia cmdlet , aby natychmiast uruchomić zaplanowane zadanie. Można również utworzyć i obsługiwać zaplanowane zadanie, które nie ma wyzwalaczy zadania.
Aby przesłać tabelę skrótów, użyj następujących kluczy.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(lub dowolny prawidłowy ciąg czasu); DaysOfWeek="Monday", "Wednesday"
(lub dowolna kombinacja nazw dni); Interval=2
(lub dowolny prawidłowy interwał częstotliwości); RandomDelay="30minutes"
(lub dowolny prawidłowy ciąg przedziału czasu); User="Domain1\User01"
(lub dowolny prawidłowy użytkownik; używany tylko z wartością częstotliwości AtLogon)
}
Type: | Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Zaplanowane zadania można przekazać potokowi do .Set-ScheduledJob
Dane wyjściowe
Brak lub Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Jeśli używasz parametru Passthru , zwraca zaplanowane zadanie, Set-ScheduledJob
które zostało zmienione. W przeciwnym razie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Linki powiązane
- 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
- Zadanie Set-ScheduledJob
- Set-ScheduledJobOption
- Wyrejestrowywanie zadania ScheduledJob
Opinia
Prześlij i wyświetl opinię dla