Set-ScheduledJob
Wijzigingen geplande taken.
Syntaxis
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>]
Description
De Set-ScheduledJob
cmdlet wijzigt de eigenschappen van geplande taken, zoals de opdrachten die door de taken worden uitgevoerd of de referenties die nodig zijn om de taak uit te voeren. U kunt deze ook gebruiken om de uitvoeringsgeschiedenis van de geplande taak te wissen.
Als u deze cmdlet wilt gebruiken, gebruikt u de cmdlet om de Get-ScheduledJob
geplande taak op te halen. Sluis vervolgens de geplande taak door naar Set-ScheduledJob
of sla deze op in een variabele en gebruik de parameter InputObject om de taak te identificeren. Gebruik de resterende parameters om Set-ScheduledJob
de taakeigenschappen te wijzigen of de uitvoeringsgeschiedenis te wissen.
Hoewel u de triggers en opties van een geplande taak kunt Set-ScheduledJob
wijzigen, bieden de Add-JobTrigger
, Set-JobTrigger
en Set-ScheduledJobOption
cmdlets veel eenvoudigere manieren om deze taken uit te voeren. Gebruik de Register-ScheduledJob
cmdlet om een nieuwe geplande taak te maken.
Met de parameter Trigger wordt Set-ScheduledJob
een of meer taaktriggers toegevoegd waarmee de taak wordt gestart.
De parameter Trigger is optioneel, dus u kunt triggers toevoegen wanneer u de geplande taak maakt, taaktriggers later toevoegen, de parameter RunNow toevoegen om de taak onmiddellijk te starten, de cmdlet gebruiken om de Start-Job
taak onmiddellijk te starten of de geplande taak zonder trigger op te slaan als sjabloon voor andere taken.
Set-ScheduledJob
is een van een verzameling cmdlets voor taakplanning in de PSScheduledJob-module die is opgenomen in Windows PowerShell.
Zie de onderwerpen Over geplande taken in de PSScheduledJob-module voor meer informatie over geplande taken. Importeer de PSScheduledJob-module en typ: Get-Help about_Scheduled*
of zie about_Scheduled_Jobs.
Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.
Voorbeelden
Voorbeeld 1: Het script wijzigen dat door een taak wordt uitgevoerd
In dit voorbeeld ziet u hoe u het script wijzigt dat wordt uitgevoerd in een geplande taak.
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
De eerste opdracht gebruikt de Get-ScheduledJob
cmdlet om de geplande inventaristaak op te halen. De uitvoer laat zien dat de taak het Get-Inventory.ps1-script uitvoert.
De tweede opdracht gebruikt de Get-ScheduledJob
cmdlet om de geplande inventaristaak op te halen. Een pijplijnoperator (|
) verzendt de geplande taak naar de Set-ScheduledJob
cmdlet. De Set-ScheduledJob
cmdlet gebruikt de scriptparameter om een nieuw script op te geven. Get-FullInventory.ps1
De opdracht gebruikt de parameter PassThru om de geplande taak na de wijziging te retourneren.
Deze opdracht is niet vereist; het is alleen opgenomen om het effect van de scriptwijziging weer te geven.
Voorbeeld 2: de uitvoeringsgeschiedenis van een geplande taak verwijderen
In dit voorbeeld worden de huidige uitvoeringsgeschiedenis en opgeslagen taakresultaten voor een geplande taak verwijderd.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
De opdracht gebruikt de Get-ScheduledJob
cmdlet om de geplande BackupArchive-taak op te halen. Een pijplijnoperator (|
) verzendt de taak naar de Set-ScheduledJob
cmdlet om deze te wijzigen. De Set-ScheduledJob
cmdlet gebruikt de parameter ClearExecutionHistory om de uitvoeringsgeschiedenis en opgeslagen resultaten te verwijderen.
Zie about_Scheduled_Jobs voor meer informatie over de uitvoeringsgeschiedenis en opgeslagen taakresultaten van geplande taken.
Voorbeeld 3: Geplande taken wijzigen op een externe computer
Met deze opdracht wordt het initialisatiescript gewijzigd in alle geplande taken op externe computers.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
De opdracht gebruikt de Invoke-Command
cmdlet om een opdracht uit te voeren op de Server01- en Server02-computers.
De externe opdracht begint met een Get-ScheduledJob
opdracht waarmee alle geplande taken op de computer worden uitgevoerd. De geplande taken worden doorgesluisd naar de Set-ScheduledJob
cmdlet, waardoor het initialisatiescript wordt SetForRun.ps1
gewijzigd in .
Parameters
-ArgumentList
Hiermee geeft u waarden op voor de parameters van het script dat is opgegeven door de parameter FilePath of voor de opdracht die is opgegeven door de parameter ScriptBlock .
Type: | Object[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Authentication
Hiermee geeft u het mechanisme op dat wordt gebruikt om de referenties van de gebruiker te verifiëren. De aanvaardbare waarden voor deze parameter zijn:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
De standaardwaarde is Default
. Zie AuthenticationMechanism Enumeration in de PowerShell SDK voor meer informatie over de waarden van deze parameter.
Let op
CredSSP-verificatie (Credential Security Support Provider), waarbij de referenties van de gebruiker worden doorgegeven aan een externe computer die moet worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de externe bewerking. Als de externe computer is aangetast, kunnen de referenties die aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.
Type: | AuthenticationMechanism |
Geaccepteerde waarden: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ClearExecutionHistory
Hiermee verwijdert u de huidige uitvoeringsgeschiedenis en de opgeslagen resultaten van de geplande taak.
De uitvoeringsgeschiedenis van de taak en de taakresultaten worden opgeslagen met de geplande taak in de $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
map op de computer waarop de taak wordt gemaakt. Gebruik de cmdlet om de Get-Job
uitvoeringsgeschiedenis te bekijken. Gebruik de Receive-Job
cmdlet om de taakresultaten op te halen.
Deze parameter heeft geen invloed op de gebeurtenissen die Task Scheduler schrijft naar de Windows-gebeurtenislogboeken en zorgt ervoor dat Windows PowerShell geen taakresultaten opslaat. Gebruik de parameter MaxResultCount om het aantal opgeslagen taakresultaten te beheren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Credential
Hiermee geeft u een gebruikersaccount op dat gemachtigd is om de geplande taak uit te voeren. Standaard is dit de huidige gebruiker.
Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential-object in, zoals een object uit de Get-Credential
cmdlet. Als u alleen een gebruikersnaam invoert, wordt u gevraagd om een wachtwoord.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-FilePath
Hiermee geeft u een script op dat door de geplande taak wordt uitgevoerd. Voer het pad in naar een .ps1-bestand op de lokale computer. Als u standaardwaarden voor de scriptparameters wilt opgeven, gebruikt u de parameter ArgumentList . Elke geplande taak moet een ScriptBlock - of FilePath-waarde hebben.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InitializationScript
Hiermee geeft u het volledig gekwalificeerde pad naar een Windows PowerShell-script (.ps1
). Het initialisatiescript wordt uitgevoerd in de sessie die is gemaakt voor de achtergrondtaak vóór de opdrachten die zijn opgegeven door de parameter ScriptBlock of het script dat is opgegeven door de FilePath-parameter . U kunt het initialisatiescript gebruiken om de sessie te configureren, zoals het toevoegen van bestanden, functies of aliassen, het maken van mappen of het controleren op vereisten.
Als u een script wilt opgeven waarmee de primaire taakopdrachten worden uitgevoerd, gebruikt u de parameter FilePath .
Als het initialisatiescript een fout genereert, inclusief een niet-afsluitfout, wordt het huidige exemplaar van de geplande taak niet uitgevoerd en is de status mislukt.
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u de geplande taak die moet worden gewijzigd. Voer een variabele in die ScheduledJobDefinition-objecten bevat of typ een opdracht of expressie waarmee ScheduledJobDefinition-objecten worden opgehaald, zoals een Get-ScheduledJob
opdracht. U kunt ook een ScheduledJobDefinition-object doorsluisen naar Set-ScheduledJob
.
Als u meerdere geplande taken opgeeft, Set-ScheduledJob
worden dezelfde wijzigingen aangebracht in alle taken.
Type: | ScheduledJobDefinition |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-MaxResultCount
Hiermee geeft u op hoeveel vermeldingen van taakresultaten worden onderhouden voor de geplande taak. De standaardwaarde is 32.
In Windows PowerShell worden de uitvoeringsgeschiedenis en resultaten van elk geactiveerd exemplaar van de geplande taak op schijf opgeslagen. De waarde van deze parameter bepaalt het aantal resultaten van het taakexemplaren dat voor deze geplande taak wordt opgeslagen. Wanneer het aantal resultaten van het taakexemplaren deze waarde overschrijdt, verwijdert Windows PowerShell de resultaten van het oudste taakexemplaren om ruimte te maken voor de resultaten van het nieuwste taakexemplaren.
De uitvoeringsgeschiedenis van de taak en de taakresultaten worden opgeslagen in de $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
mappen op de computer waarop de taak wordt gemaakt. Gebruik de cmdlet om de Get-Job
uitvoeringsgeschiedenis te bekijken. Gebruik de Receive-Job
cmdlet om de taakresultaten op te halen.
De parameter MaxResultCount stelt de waarde van de eigenschap ExecutionHistoryLength van de geplande taak in.
Als u de huidige uitvoeringsgeschiedenis en taakresultaten wilt verwijderen, gebruikt u de parameter ClearExecutionHistory .
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Name
Hiermee geeft u een nieuwe naam op voor de geplande taak en exemplaren van de geplande taak. De naam moet uniek zijn op de lokale computer.
Als u de geplande taak wilt identificeren die moet worden gewijzigd, gebruikt u de parameter InputObject of sluist u een geplande taak van Get-ScheduledJob
naar Set-ScheduledJob
.
Met deze parameter worden de namen van taakexemplaren op schijf niet gewijzigd. Dit is alleen van invloed op taakexemplaren die zijn gestart nadat deze opdracht is voltooid.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-PassThru
Retourneert een object dat het item aangeeft waarmee u werkt. Deze cmdlet genereert standaard geen uitvoer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RunAs32
Hiermee wordt de geplande taak uitgevoerd in een 32-bits proces.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RunEvery
Wordt gebruikt om op te geven hoe vaak de taak moet worden uitgevoerd. Gebruik deze optie bijvoorbeeld om elke 15 minuten een taak uit te voeren.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RunNow
Start onmiddellijk een taak, zodra de Set-ScheduledJob
cmdlet wordt uitgevoerd. Deze parameter elimineert de noodzaak om Task Scheduler te activeren om direct na de registratie een Windows PowerShell-script uit te voeren en vereist niet dat gebruikers een trigger maken die een begindatum en -tijd aangeeft.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ScheduledJobOption
Hiermee stelt u opties voor de geplande taak in. Voer een ScheduledJobOptions-object in, zoals een object dat u maakt met behulp van de New-ScheduledJobOption
cmdlet of een hash-tabelwaarde.
U kunt opties instellen voor een geplande taak wanneer u de geplande taak registreert of de Set-ScheduledJobOption
cmdlets Set-ScheduledJob
gebruikt om opties in te stellen of te wijzigen.
Veel van de opties en de standaardwaarden bepalen of en wanneer een geplande taak wordt uitgevoerd. Zorg ervoor dat u deze opties bekijkt voordat u een taak plant. Zie voor een beschrijving van de geplande taakopties, inclusief de standaardwaarden.New-ScheduledJobOption
Gebruik de volgende sleutels om een hash-tabel te verzenden. In de volgende hashtabel worden de sleutels weergegeven met hun standaardwaarden.
@{# 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: | ScheduledJobOptions |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ScriptBlock
Hiermee geeft u de opdrachten op die door de geplande taak worden uitgevoerd. Plaats de opdrachten tussen accolades ({}
) om een scriptblok te maken. Als u standaardwaarden voor opdrachtparameters wilt opgeven, gebruikt u de parameter ArgumentList .
Elke Register-ScheduledJob
opdracht moet de scriptblock - of FilePath-parameters gebruiken.
Type: | ScriptBlock |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Trigger
Hiermee geeft u de triggers voor de geplande taak. Voer een of meer ScheduledJobTrigger-objecten in, zoals de objecten die door de New-JobTrigger
cmdlet worden geretourneerd, of een hash-tabel met taaktriggersleutels en -waarden.
Een taaktrigger start automatisch een geplande taak op een eenmalige of terugkerende geplande taak of wanneer er een gebeurtenis plaatsvindt.
Taaktriggers zijn optioneel. U kunt een trigger toevoegen wanneer u de geplande taak maakt, de Add-JobTrigger
of Set-ScheduledJob
cmdlets gebruiken om later triggers toe te voegen of de Start-Job
cmdlet gebruiken om de geplande taak onmiddellijk te starten. U kunt ook een geplande taak maken en onderhouden die geen taaktriggers heeft.
Gebruik de volgende sleutels om een hash-tabel te verzenden.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(of een geldige tijdtekenreeks); DaysOfWeek="Monday", "Wednesday"
(of een combinatie van dagnamen); Interval=2
(of een geldig frequentie-interval); RandomDelay="30minutes"
(of een geldige tijdspannetekenreeks); User="Domain1\User01"
(of een geldige gebruiker; alleen gebruikt met de AtLogon-frequentiewaarde)
}
Type: | ScheduledJobTrigger[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt een geplande taak doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet de geplande taak die deze heeft gewijzigd.
Verwante koppelingen
- 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