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, gebruikt u de cmdlet Get-JobTrigger om de taaktrigger van een geplande taak op te halen. Sluis vervolgens de trigger door naar Set-JobTrigger of sla de trigger op in een variabele en gebruik de parameter InputObject van Set-JobTrigger cmdlet om de trigger te identificeren. Gebruik de resterende parameters van Set-JobTrigger- om 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 vervolgens: 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
PS C:\> Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
The second command uses the Get-JobTrigger cmdlet to get the job trigger of the DeployPackage scheduled job. A pipeline operator (|) sends the trigger to the **Set-JobTrigger** cmdlet, which changes the job trigger so that it starts the DeployPackage job on Wednesdays and Sundays. The command uses the *Passthru* parameter to return the trigger after the change.
PS C:\> 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
In dit voorbeeld ziet u hoe u de dagen in een wekelijkse taaktrigger wijzigt.
De eerste opdracht maakt gebruik van de Get-JobTrigger cmdlet om de taaktrigger van de geplande taak DeployPackage op te halen. De uitvoer laat zien dat de trigger de taak start om middernacht op woensdag en zaterdag.
Deze opdracht is niet vereist; het is alleen opgenomen om het effect van de triggerwijziging weer te geven.
Voorbeeld 2: het type taaktrigger wijzigen
PS C:\> Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
The second command uses the **Get-JobTrigger** cmdlet to get the *AtStartup* job trigger of the Inventory job. The command uses the *TriggerID* parameter to identify the job trigger. A pipeline operator (|) sends the job trigger to the **Set-JobTrigger** cmdlet, which changes it to a weekly job trigger that runs every four weeks on Monday at midnight. The command uses the *Passthru* parameter to return the trigger after the change.
PS C:\> 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
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.
De eerste opdracht maakt gebruik van de Get-JobTrigger cmdlet om de taaktrigger van de geplande inventaristaak op te halen. In de uitvoer ziet u dat de taak twee triggers per dag en een AtStartup--trigger heeft.
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
PS C:\> Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Met deze opdracht wordt de gebruiker in alle AtLogon taaktriggers van geplande taken op de Server01-computer gewijzigd.
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 met de eigenschap Gebruiker worden opgehaald. De geselecteerde taaktriggers worden doorgesluisd naar de Set-JobTrigger cmdlet, waarmee de gebruiker wordt gewijzigd in Domain01\Admin02.
Voorbeeld 4: Een van de vele taaktriggers wijzigen
PS C:\> 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
The second command uses the **TriggerID** parameter of the **Get-JobTrigger** cmdlet to get the *Once* trigger of the SecurityCheck scheduled job. The command pipes the trigger to the Format-List cmdlet, which displays all of the properties of the *Once* job trigger.The output shows that the trigger starts the job once every hour (RepetitionInterval = 1 hour) for one day (RepetitionDuration = 1 day).
PS C:\> 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
The third command changes the repetition interval of the job trigger from one hour to 90 minutes. The command does not return any output.
PS C:\> Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
The fourth command displays the effect of the change.The output shows that the trigger starts the job once every 90 minutes (RepetitionInterval = 1 hour, 30 minutes) for one day (RepetitionDuration = 1 day).
PS C:\> 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
De opdrachten in dit voorbeeld wijzigen het herhalingsinterval van de Zodra taaktrigger van SecurityCheck geplande taak van elke 60 minuten in elke 90 minuten. De geplande securityCheck-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 maakt gebruik van de Get-JobTrigger cmdlet om alle taaktriggers van de geplande SecurityCheck-taak op te halen. De uitvoer, waarin de id's van de taaktriggers worden weergegeven, laat zien dat de Zodra taaktrigger een id van 3 heeft.
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 '19 april 2012 15:00', '12-31-2013 9:00 uur' of '3am'.
Als u geen element opgeeft van het DateTime--object, 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 het 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 User.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
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: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Daily
Hiermee geeft u een terugkerende dagelijkse taakplanning. Gebruik de andere parameters in de parameter Daily om de planningsgegevens op te geven.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DaysInterval
Hiermee geeft u het aantal dagen tussen exemplaren op volgens een dagelijkse planning. Een waarde van 3 start bijvoorbeeld de geplande taak op dag 1, 4, 7 enzovoort. De standaardwaarde is 1.
Type: | Int32 |
Position: | Named |
Default value: | 1 |
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 maandag, donderdag, gehele getallen 0-6, waarbij 0 zondag vertegenwoordigt of een sterretje (*) om elke dag weer te geven. 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 dag een naam tussen afzonderlijke aanhalingstekens, zoals 'maandag', 'dinsdag'. Als u namen van meerdere dagen tussen één aanhalingstekenpaar plaatst, worden de bijbehorende gehele getallen opgeteld. Bijvoorbeeld: 'maandag, dinsdag' (1, 2) resulteert in een waarde van 'woensdag' (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 die ScheduledJobTrigger objecten, zoals een Get-JobTrigger opdracht. U kunt ook een ScheduledJobTrigger--object doorsluisen naar Set-JobTrigger.
Als u meerdere taaktriggers opgeeft, Set-JobTrigger dezelfde wijzigingen aanbrengt 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: | False |
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: | False |
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. De standaardwaarde nul (00:00:00), schakelt de willekeurige vertraging uit.
Voer een tijdsperiodeobject in, zoals een object dat wordt geretourneerd door de cmdlet New-TimeSpan of voer een waarde in <uren in>:<minuten>:<seconden> notatie, die automatisch wordt geconverteerd naar een tijdspanneobject.
Type: | TimeSpan |
Position: | Named |
Default value: | 00:00:00 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-RepeatIndefinitely
Deze parameter, beschikbaar vanaf Windows PowerShell 4.0, elimineert de noodzaak om een TimeSpan.MaxValue waarde op te geven voor de parameter RepetitionDuration om een geplande taak herhaaldelijk uit te voeren voor onbepaalde tijd.
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 gedurende 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 wordt geactiveerd, stelt u de Herhalingsduration waarde in op nul (0).
Als u de herhalingsduur of het herhalingsinterval van een Zodra taaktrigger, moet de opdracht zowel de RepetitionInterval- als Herhalingsduration parameters bevatten. Als u de herhalingsduur of herhalingsintervallen van andere typen taaktriggers wilt wijzigen, moet de opdracht de Zodra, Bij, Herhalingsinterval en Herhalingsduration parameters bevatten.
Type: | TimeSpan |
Position: | Named |
Default value: | 0 |
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, herhaalt de taak niet.
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 Zodra taaktrigger, moet de opdracht zowel de RepetitionInterval- als Herhalingsduration parameters bevatten. Als u de herhalingsduur of herhalingsintervallen van andere typen taaktriggers wilt wijzigen, moet de opdracht de Zodra, Bij, Herhalingsinterval en Herhalingsduration parameters bevatten.
Type: | TimeSpan |
Position: | Named |
Default value: | 0 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-User
Hiermee geeft u de gebruikers op die een AtLogon activeren begin van een geplande taak. Voer de naam van een gebruiker in <UserName> of <Domain\Username> notatie in of voer een sterretje (*) in om alle gebruikers weer te geven. De standaardwaarde is alle gebruikers.
Type: | String |
Position: | Named |
Default value: | All users |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Weekly
Hiermee geeft u een terugkerende wekelijkse taakplanning op. Gebruik de andere parameters in de Weekly parameter ingesteld om de planningsgegevens op te geven.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WeeksInterval
Hiermee geeft u het aantal weken tussen exemplaren op een wekelijks taakschema. Een waarde van 3 start bijvoorbeeld de geplande taak op weken 1, 4, 7 enzovoort. De standaardwaarde is 1.
Type: | Int32 |
Position: | Named |
Default value: | 1 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt meerdere taaktriggers doorsluisen naar Set-JobTrigger.
Uitvoerwaarden
None or Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger
Wanneer u de parameter Passthru gebruikt, retourneert Set-JobTrigger de taaktriggers die zijn gewijzigd. Anders genereert deze cmdlet geen uitvoer.
Notities
- Taaktriggers hebben een eigenschap JobDefintion die deze koppelt aan de geplande taak. Wanneer u de taaktrigger van een geplande taak wijzigt, wordt de taak gewijzigd. U hoeft geen Set-ScheduledJob opdracht te gebruiken om de gewijzigde trigger toe te passen op de geplande taak.
Verwante koppelingen
- 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