Set-JobTrigger
Hiermee wijzigt u de taaktrigger van een geplande taak.
Syntaxis
Set-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-DaysInterval <Int32>]
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
[-At <DateTime>]
[-User <String>]
[-DaysOfWeek <DayOfWeek[]>]
[-AtStartup]
[-AtLogOn]
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[-Daily]
[-Weekly]
[-PassThru]
[<CommonParameters>]
Description
De Set-JobTrigger
cmdlet wijzigt de eigenschappen van de taaktriggers van geplande taken. U kunt deze gebruiken om de tijd of frequentie te wijzigen waarop de taken beginnen of om te veranderen van een schema op basis van tijd tot schema's die worden geactiveerd door een aanmelding of opstartbewerking.
Een taaktrigger definieert een terugkerend schema of voorwaarden voor het starten van een geplande taak. Hoewel taaktriggers niet op schijf worden opgeslagen, kunt u de taaktriggers van geplande taken wijzigen, die op schijf worden opgeslagen.
Als u een taaktrigger van een geplande taak wilt wijzigen, begint u met de Get-JobTrigger
cmdlet om de taaktrigger van een geplande taak op te halen. Sluis vervolgens de trigger door naar Set-JobTrigger
of sla deze op in een variabele en gebruik de parameter InputObject van Set-JobTrigger
de cmdlet om de trigger te identificeren.
Gebruik de resterende parameters om Set-JobTrigger
de taaktrigger te wijzigen.
Wanneer u het type taaktrigger wijzigt, zoals het wijzigen van een taaktrigger van een dagelijkse of wekelijkse trigger in een AtLogon-trigger , worden de oorspronkelijke triggereigenschappen verwijderd. Als u echter de waarden van de trigger wijzigt, maar niet het type, zoals het wijzigen van de dagen in een wekelijkse trigger, worden alleen de eigenschappen die u opgeeft, gewijzigd. Alle andere eigenschappen van de oorspronkelijke taaktrigger blijven behouden.
Set-JobTrigger
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: De dagen in een taaktrigger wijzigen
In dit voorbeeld ziet u hoe u de dagen in een wekelijkse taaktrigger wijzigt.
Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
Get-JobTrigger -Name "DeployPackage" | Set-JobTrigger -DaysOfWeek "Wednesday", "Sunday" -PassThru
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Sunday} True
De eerste opdracht gebruikt de Get-JobTrigger
cmdlet om de taaktrigger van de DeployPackage
geplande taak op te halen. De uitvoer laat zien dat de trigger de taak start om middernacht op woensdag en zaterdag.
De tweede opdracht gebruikt de Get-JobTrigger
cmdlet om de taaktrigger van de DeployPackage
geplande taak op te halen. Een pijplijnoperator (|
) verzendt de trigger naar de Set-JobTrigger
cmdlet, waarmee de taaktrigger wordt gewijzigd, zodat de DeployPackage
taak op woensdag en zondag wordt gestart. De opdracht gebruikt de parameter PassThru om de trigger na de wijziging te retourneren.
Deze opdracht is niet vereist; het is alleen opgenomen om het effect van de triggerwijziging weer te geven.
Voorbeeld 2: het type taaktrigger wijzigen
In dit voorbeeld ziet u hoe u het type taaktrigger wijzigt waarmee een taak wordt gestart. De opdrachten in dit voorbeeld vervangen een AtStartup
taaktrigger door een wekelijkse trigger.
Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
Get-JobTrigger -Name "Inventory" -TriggerID 2 | Set-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At "12:00 AM"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 Weekly 10/31/2011 12:00:00 AM {Monday} True
De eerste opdracht gebruikt de Get-JobTrigger
cmdlet om de taaktrigger van de Inventory
geplande taak op te halen. In de uitvoer ziet u dat de taak twee triggers per dag en een AtStartup-trigger heeft.
De tweede opdracht gebruikt de Get-JobTrigger
cmdlet om de AtStartup-taaktrigger van de Inventory
taak op te halen. De opdracht gebruikt de parameter TriggerID om de taaktrigger te identificeren. Een pijplijnoperator (|
) verzendt de taaktrigger naar de Set-JobTrigger
cmdlet, waardoor deze wordt gewijzigd in een wekelijkse taaktrigger die elke vier weken op maandag om middernacht wordt uitgevoerd. De opdracht gebruikt de parameter PassThru om de trigger na de wijziging te retourneren.
Deze opdracht is niet vereist; het is alleen opgenomen om het effect van de triggerwijziging weer te geven.
Voorbeeld 3: de gebruiker wijzigen op een externe taaktrigger
Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Met deze opdracht wordt de gebruiker gewijzigd in alle AtLogon-taaktriggers van geplande taken op de Server01-computer.
De opdracht gebruikt de Invoke-Command
cmdlet om een opdracht uit te voeren op de Server01-computer.
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 Get-JobTrigger
cmdlet, waarmee de taaktriggers van de geplande taken worden opgehaald. Elke taaktrigger bevat een eigenschap JobDefinition die de geplande taak bevat, dus de trigger blijft gekoppeld aan de geplande taak, zelfs wanneer deze wordt gewijzigd.
De taaktriggers worden doorgesluisd naar de Where-Object
cmdlet, waarmee taaktriggers worden opgehaald die de eigenschap Gebruiker hebben. De geselecteerde taaktriggers worden doorgesluisd naar de Set-JobTrigger
cmdlet, waardoor de gebruiker wordt Domain01\Admin02
gewijzigd in .
Voorbeeld 4: Een van de vele taaktriggers wijzigen
Get-JobTrigger -Name "SecurityCheck"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 4/24/2013 3:00:00 AM True
2 Weekly 4/24/2013 4:00:00 PM {Sunday} True
3 Once 4/24/2013 4:00:00 PM True
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:00:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:30:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Met de opdrachten in dit voorbeeld wordt het herhalingsinterval van de taaktrigger SecurityCheck
Eenmaal om de 60 minuten gewijzigd in elke 90 minuten. De SecurityCheck
geplande taak heeft drie taaktriggers, dus de opdrachten gebruiken de Parameter TriggerId van de Get-JobTrigger
cmdlet om de taaktrigger te identificeren die wordt gewijzigd.
De eerste opdracht gebruikt de Get-JobTrigger
cmdlet om alle taaktriggers van de SecurityCheck
geplande taak op te halen. De uitvoer, waarin de id's van de taaktriggers worden weergegeven, laat zien dat de taaktrigger eenmaal een id van 3
heeft.
De tweede opdracht gebruikt de parameter TriggerID van de Get-JobTrigger
cmdlet om de eenmaal geactiveerde SecurityCheck
taak op te halen. De opdracht geeft de trigger door aan de Format-List
cmdlet, waarin alle eigenschappen van de taaktrigger Eenmaal worden weergegeven. De uitvoer laat zien dat de trigger de taak eenmaal per uur start (Herhalingsinterval is 1 uur) voor één dag (Herhalingsduration is 1 dag).
De derde opdracht wijzigt het herhalingsinterval van de taaktrigger van één uur in 90 minuten. De opdracht retourneert geen uitvoer.
Met de vierde opdracht wordt het effect van de wijziging weergegeven. De uitvoer laat zien dat de trigger de taak eenmaal om de 90 minuten start (Herhalingsinterval is 1 uur, 30 minuten) voor één dag (Herhalingsduration is 1 dag).
Parameters
-At
Start de taak op de opgegeven datum en tijd. Voer een DateTime-object in, zoals een object dat door de Get-Date
cmdlet wordt geretourneerd, of een tekenreeks die kan worden geconverteerd naar een tijd, zoals April 19, 2012 15:00
, 12/31/2013 9:00 PM
of 3am
.
Als u geen element van het DateTime-object opgeeft, zoals seconden, wordt dat element van de taaktrigger niet gewijzigd. Als de oorspronkelijke taaktrigger geen DateTime-object bevat en u een element weglaat, wordt de taaktrigger gemaakt met het bijbehorende element van de huidige datum en tijd.
Wanneer u de parameter Eenmaal gebruikt, stelt u de waarde van de parameter At in op een bepaalde datum en tijd. Omdat de standaarddatum in een DateTime-object de huidige datum is, resulteert het instellen van een tijd vóór de huidige tijd zonder expliciete datum in een taaktrigger voor een tijd in het verleden.
Datum/tijd-objecten en tekenreeksen die worden geconverteerd naar DateTime-objecten, worden automatisch aangepast zodat deze compatibel zijn met de datum- en tijdnotaties die zijn geselecteerd voor de lokale computer in Regio en Taal in Configuratiescherm.
Type: | DateTime |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AtLogOn
Start de geplande taak wanneer de opgegeven gebruikers zich aanmelden bij de computer. Als u een gebruiker wilt opgeven, gebruikt u de parameter Gebruiker .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AtStartup
Hiermee start u de geplande taak wanneer Windows wordt gestart.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Daily
Hiermee geeft u een terugkerende dagelijkse taakplanning. Gebruik de andere parameters in de parameter Dagelijks die zijn ingesteld om de planningsgegevens op te geven.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DaysInterval
Hiermee geeft u het aantal dagen tussen exemplaren op volgens een dagelijkse planning. Bijvoorbeeld: een waarde voor het starten van 3
de geplande taak op dagen1
, 4
7
enzovoort. De standaardwaarde is 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DaysOfWeek
Hiermee geeft u de dagen van de week waarop een wekelijks geplande taak wordt uitgevoerd. Voer dagnamen in, zoals Monday
, Thursday
gehele getallen 0
6
-, waarbij 0
zondag wordt aangegeven of een sterretje (*
) dat elke dag moet worden weergegeven. Deze parameter is vereist in de set wekelijkse parameters.
Dagnamen worden geconverteerd naar hun gehele getallen in de taaktrigger. Wanneer u dagnamen tussen aanhalingstekens in een opdracht plaatst, plaatst u elke dagnaam tussen afzonderlijke aanhalingstekens, zoals "Monday", "Tuesday"
. Als u namen van meerdere dagen tussen één aanhalingstekenpaar plaatst, worden de bijbehorende gehele getallen opgeteld. Bijvoorbeeld: "Monday, Tuesday"
(1 + 2
) resulteert in een waarde van Wednesday
(3
).
Type: | DayOfWeek[] |
Geaccepteerde waarden: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u de taaktriggers. Voer een variabele in die ScheduledJobTrigger-objecten bevat of typ een opdracht of expressie waarmee ScheduledJobTrigger-objecten worden opgehaald, zoals een Get-JobTrigger
opdracht.
U kunt ook een ScheduledJobTrigger-object doorsluisen naar Set-JobTrigger
.
Als u meerdere taaktriggers opgeeft, Set-JobTrigger
worden dezelfde wijzigingen aangebracht in alle taaktriggers.
Type: | ScheduledJobTrigger[] |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Once
Hiermee geeft u een niet-terugkerend (eenmalig) schema.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-PassThru
Retourneert de taaktriggers die zijn gewijzigd. Deze cmdlet genereert standaard geen uitvoer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RandomDelay
Hiermee kunt u een willekeurige vertraging inschakelen die begint bij de geplande begintijd en de maximale vertragingswaarde instellen.
De lengte van de vertraging wordt pseudo-willekeurig ingesteld voor elke start en varieert van geen vertraging tot de tijd die is opgegeven door de waarde van deze parameter. Met de standaardwaarde nul (00:00:00
) wordt de willekeurige vertraging uitgeschakeld.
Voer een tijdspanneobject in, zoals een object dat wordt geretourneerd door de New-TimeSpan
cmdlet of voer een waarde in indeling in <hours>:<minutes>:<seconds>
, die automatisch wordt geconverteerd naar een tijdspanneobject.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RepeatIndefinitely
Deze parameter, beschikbaar vanaf Windows PowerShell 4.0, elimineert de noodzaak om voor onbepaalde tijd een TimeSpan.MaxValue-waarde op te geven voor de parameter RepetitionDuration om een geplande taak herhaaldelijk uit te voeren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RepetitionDuration
Herhaalt de taak totdat de opgegeven tijd verloopt. De herhalingsfrequentie wordt bepaald door de waarde van de parameter RepetitionInterval . Als de waarde van Herhalingsinterval bijvoorbeeld 5 minuten is en de waarde van Herhalingsduration 2 uur is, wordt de taak elke vijf minuten geactiveerd voor twee uur.
Voer een tijdspanneobject in, zoals een object dat door de New-TimeSpan
cmdlet wordt geretourneerd of een tekenreeks die kan worden geconverteerd naar een tijdspanneobject, zoals 1:05:30
.
Als u een taak voor onbepaalde tijd wilt uitvoeren, voegt u in plaats daarvan de parameter RepeatIndefinitely toe.
Als u een taak wilt stoppen voordat de herhalingsduur van de taak verloopt, stelt u de waarde Herhalingsduration in op nul (0
).
Als u de herhalingsduur of het herhalingsinterval van een eenmaal-taaktrigger wilt wijzigen, moet de opdracht zowel de parameters RepetitionInterval als Herhalingsduration bevatten. Als u de herhalingsduur of herhalingsintervallen van andere typen taaktriggers wilt wijzigen, moet de opdracht de parameters Once, At, RepetitionInterval en RepetitionDuration bevatten.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RepetitionInterval
Herhaalt de taak op het opgegeven tijdsinterval. Als de waarde van deze parameter bijvoorbeeld 2 uur is, wordt de taak elke twee uur geactiveerd. De standaardwaarde, 0
wordt de taak niet herhaald.
Voer een tijdspanneobject in, zoals een object dat door de New-TimeSpan
cmdlet wordt geretourneerd of een tekenreeks die kan worden geconverteerd naar een tijdspanneobject, zoals 1:05:30
.
Als u de herhalingsduur of het herhalingsinterval van een eenmaal-taaktrigger wilt wijzigen, moet de opdracht zowel de parameters RepetitionInterval als Herhalingsduration bevatten. Als u de herhalingsduur of herhalingsintervallen van andere typen taaktriggers wilt wijzigen, moet de opdracht de parameters Once, At, RepetitionInterval en RepetitionDuration bevatten.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-User
Hiermee geeft u de gebruikers op die een AtLogon-start van een geplande taak activeren. Voer de naam in van een gebruiker in <UserName>
of <Domain>\<Username>
notatie of voer een sterretje (*
) in om alle gebruikers weer te geven. De standaardwaarde is alle gebruikers.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Weekly
Hiermee geeft u een terugkerende wekelijkse taakplanning op. Gebruik de andere parameters in de parameter Wekelijks ingesteld om de planningsgegevens op te geven.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WeeksInterval
Hiermee geeft u het aantal weken tussen exemplaren op een wekelijks taakschema. Een waarde voor het starten van 3
de geplande taak bijvoorbeeld op weken1
, 7
4
enzovoort. De standaardwaarde is 1
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt een taaktrigger doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet de taaktriggers die deze hebben gewijzigd.
Notities
- Taaktriggers hebben een eigenschap JobDefinition die deze koppelt aan de geplande taak. Wanneer u de taaktrigger van een geplande taak wijzigt, wordt de taak gewijzigd. U hoeft geen opdracht te gebruiken
Set-ScheduledJob
om de gewijzigde trigger toe te passen op de geplande taak.
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