New-JobTrigger

Hiermee maakt u een taaktrigger voor een geplande taak.

Syntax

New-JobTrigger
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   [-Once]
   [-RepetitionInterval <TimeSpan>]
   [-RepetitionDuration <TimeSpan>]
   [-RepeatIndefinitely]
   [<CommonParameters>]
New-JobTrigger
   [-DaysInterval <Int32>]
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   [-Daily]
   [<CommonParameters>]
New-JobTrigger
   [-WeeksInterval <Int32>]
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   -DaysOfWeek<DayOfWeek[]>
   [-Weekly]
   [<CommonParameters>]
New-JobTrigger
   [-RandomDelay <TimeSpan>]
   [-AtStartup]
   [<CommonParameters>]
New-JobTrigger
   [-RandomDelay <TimeSpan>]
   [-User <String>]
   [-AtLogOn]
   [<CommonParameters>]

Description

Met de New-JobTrigger cmdlet wordt een taaktrigger gemaakt waarmee een geplande taak wordt gestart volgens een eenmalig of terugkerend schema, of wanneer er een gebeurtenis plaatsvindt.

U kunt het object ScheduledJobTrigger gebruiken dat New-JobTrigger terugkeert om een taaktrigger in te stellen voor een nieuwe of bestaande geplande taak. U kunt ook een taaktrigger maken met de Get-JobTrigger cmdlet om de taaktrigger van een bestaande geplande taak op te halen, of met een hash-tabelwaarde om een taaktrigger weer te geven.

Controleer bij het maken van een taaktrigger de standaardwaarden van de opties die zijn opgegeven door de New-ScheduledJobOption cmdlet. Deze opties, die dezelfde geldige en standaardwaarden hebben als de bijbehorende opties in Task Scheduler, zijn van invloed op de planning en timing van geplande taken.

New-JobTriggeris een van een verzameling cmdlets voor taakplanning in de PSScheduledJob-module die is opgenomen in Windows PowerShell.

Zie de onderwerpen Over 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: Eenmaal schema

In dit voorbeeld wordt een taaktrigger gemaakt om een geplande taak slechts één keer te starten.

New-JobTrigger -Once -At "1/20/2012 3:00 AM"

De New-JobTrigger cmdlet voor het maken van een taaktrigger waarmee een geplande taak slechts één keer wordt gestart. De waarde van de parameter At is een tekenreeks die Windows PowerShell converteert naar een DateTime-object.

De at-parameterwaarde bevat een expliciete datum, niet alleen een tijd. Als de datum wordt weggelaten, wordt de trigger gemaakt met de huidige datum en 3:00 uur tijd, wat waarschijnlijk een tijd in het verleden vertegenwoordigt.

Voorbeeld 2: Dagelijkse planning

In dit voorbeeld wordt een nieuwe taaktrigger gemaakt om elke derde dag een geplande taak te starten.

New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3

Met deze opdracht maakt u een taaktrigger die elke 3 dagen om 4:15 uur een geplande taak start.

Omdat de waarde van de parameter At geen datum bevat, wordt de huidige datum gebruikt als de datumwaarde in het object DateTime . Als de datum en tijd zich in het verleden bevindt, wordt de geplande taak gestart bij de volgende keer. Dit is 3 dagen later vanaf de parameterwaarde At .

Voorbeeld 3: Wekelijks schema

In dit voorbeeld wordt een taaktrigger gemaakt die elke vierde week een geplande taak start op opgegeven dagen van die week.

New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4

Id Frequency Time                  DaysOfWeek                  Enabled
-- --------- ----                  ----------                  -------
0  Weekly    9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True

Met deze opdracht maakt u een taaktrigger om elke 4 weken een geplande taak te starten op maandag, woensdag en vrijdag om 2300 uur (11:00 uur).

U kunt ook de parameterwaarde DaysOfWeek invoeren in gehele getallen, zoals -DaysOfWeek 1, 5.

Voorbeeld 4: Aanmeldingsschema

In dit voorbeeld wordt een taaktrigger gemaakt om een geplande taak te starten bij het aanmelden van een specifieke gebruiker.

New-JobTrigger -AtLogOn -User Domain01\Admin01

Met deze opdracht maakt u een taaktrigger om een geplande taak te starten wanneer de domeinbeheerder zich aanmeldt op de computer.

Voorbeeld 5: Een willekeurige vertraging gebruiken

In dit voorbeeld wordt een nieuwe taaktrigger gemaakt met een vertraging van een willekeurige tijdsduur.

New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00

Met deze opdracht maakt u een taaktrigger om elke dag om 1:00 uur een geplande taak te starten. De opdracht gebruikt de parameter RandomDelay om de maximale vertraging in te stellen op 20 minuten. Hierdoor wordt de taak elke dag tussen 1:00 en 1:20 uur uitgevoerd, waarbij het interval pseudo-willekeurig varieert.

U kunt een willekeurige vertraging gebruiken voor steekproeven, taakverdeling en andere beheertaken. Wanneer u de vertragingswaarde instelt, controleert u de effectieve en standaardwaarden van de New-ScheduledJobOption cmdlet en coördineert u de vertraging met de optie-instellingen.

Voorbeeld 6: Een taaktrigger maken voor een nieuwe geplande taak

In dit voorbeeld wordt een taaktrigger gebruikt om een nieuwe geplande taak te maken.

$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t

De eerste opdracht maakt gebruik van de New-JobTrigger cmdlet om een taaktrigger te maken die elke maandag, woensdag en vrijdag om 12:01 uur een taak start. Met de opdracht wordt de taaktrigger opgeslagen in de $t variabele.

De tweede opdracht gebruikt de Register-ScheduledJob cmdlet om een geplande taak te maken waarmee elke maandag, woensdag en vrijdag om 12:01 uur een taak wordt gestart. De waarde van de parameter Trigger is de trigger die is opgeslagen in de $t variabele.

Voorbeeld 7: Een taaktrigger toevoegen aan een geplande taak

In dit voorbeeld ziet u hoe u een taaktrigger toevoegt aan een bestaande geplande taak.

Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)

U kunt meerdere taaktriggers toevoegen aan elke geplande taak.

De opdracht gebruikt de Add-JobTrigger cmdlet om de taaktrigger toe te voegen aan de geplande syncApps-taak . De waarde van de parameter Trigger is een New-JobTrigger opdracht waarmee de taak elke dag om 3:10 uur wordt uitgevoerd.

Wanneer de opdracht is voltooid, is SyncApps een geplande taak die wordt uitgevoerd op de tijden die zijn opgegeven door de taaktrigger.

Voorbeeld 8: Een herhalende taaktrigger maken

In dit voorbeeld wordt een herhalende taaktrigger gemaakt die alleen gedurende een bepaalde tijd kan worden uitgevoerd.

New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)

Met deze opdracht maakt u een taaktrigger die elke 60 minuten een taak uitvoert voor 48 uur vanaf 12 september 2013 om 1:00 uur.

Voorbeeld 9: Een herhalende taaktrigger stoppen

In dit voorbeeld wordt een herhalende taaktrigger gestopt.

Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00

Met deze opdracht wordt de SecurityCheck-taak geforceerd gestopt, die elke 60 minuten wordt geactiveerd totdat de taaktrigger verloopt.

Om te voorkomen dat de taak wordt herhaald, gebruikt de opdracht de Get-JobTrigger taaktrigger van de SecurityCheck-taak en de Set-JobTrigger cmdlet om het herhalingsinterval en de herhalingsduur van de taaktrigger te wijzigen in nul (0).

Voorbeeld 10: Een taaktrigger per uur maken

In dit voorbeeld wordt een herhalende taaktrigger gemaakt die voor onbepaalde tijd wordt uitgevoerd.

New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)

Met de volgende opdracht maakt u een taaktrigger waarmee een geplande taak één keer per 12 uur voor onbepaalde tijd wordt uitgevoerd. Het schema begint morgen (21-9-2012) om middernacht (0:00 uur).

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 datum en tijd, zoals April 19, 2012 15:00, 12/31of 3am. Als u geen element van de datum opgeeft, zoals het jaar, heeft de datum in de trigger het bijbehorende element van de huidige datum.

Wanneer u de parameter Eenmaal gebruikt, stelt u de waarde van de at-parameter in op een toekomstige datum en tijd. Omdat de standaarddatum in een DateTime-object de huidige datum is, wordt de taaktrigger gemaakt voor een tijd in het verleden als u een tijd opgeeft vóór de huidige tijd zonder expliciete datum.

Datum/ tijd-objecten en tekenreeksen die worden geconverteerd naar DateTime-objecten, worden automatisch aangepast zodat ze 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
Accept pipeline input:False
Accept wildcard characters:False
-AtLogOn

Hiermee start u 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:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-AtStartup

Hiermee wordt de geplande taak gestart wanneer Windows wordt gestart.

Type:SwitchParameter
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Dagelijks

Hiermee geeft u een terugkerende dagelijkse taakplanning op. Gebruik de andere parameters in de parameter Daily ingesteld om de planningsgegevens op te geven.

Type:SwitchParameter
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DaysInterval

Hiermee geeft u het aantal dagen tussen exemplaren in een dagelijks schema. Bijvoorbeeld een waarde van het starten van 3 de geplande taak op dagen1, 7 4enzovoort. De standaardwaarde is 1.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DaysOfWeek

Hiermee geeft u de dagen van de week waarop een wekelijks geplande taak wordt uitgevoerd. Voer dagnamen in, zoals Monday gehele getallen6``0-, waarbij 0 zondag wordt aangegeven. Deze parameter is vereist in de weekparameterset .

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 in één aanhalingstekenpaar plaatst, worden de bijbehorende waarden voor gehele getallen opgeteld. () resulteert bijvoorbeeld1 + 2``"Monday, Tuesday" in een waarde van Wednesday (3).

Type:DayOfWeek[]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Eenmaal

Hiermee geeft u een niet-terugkerend (eenmalig) of aangepast herhalend schema. Als u een herhalend schema wilt maken, gebruikt u de parameter Once met de parameters RepeatDuration en RepeatInterval .

Type:SwitchParameter
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Herhalinginterval

Herhaalt de taak met het opgegeven tijdsinterval. Als de waarde van deze parameter bijvoorbeeld 2 uur is, wordt de taak elke twee uur geactiveerd. De standaardwaarde, 0herhaalt de taak niet.

Voer een tijdsperiodeobject 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.

Deze parameter is alleen geldig wanneer de parameters Once, At en RepetitionDuration worden gebruikt in de opdracht.

Type:TimeSpan
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Herhalingsduration

Herhaalt de taak totdat de opgegeven tijd verloopt. De herhalingsfrequentie wordt bepaald door de waarde van de parameter Herhalingsinterval . Als de waarde van Herhalinginterval bijvoorbeeld 5 minuten is en de waarde van Herhalingsduration 2 uur is, wordt de taak elke vijf minuten geactiveerd gedurende twee uur.

Voer een tijdsperiodeobject 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 taaktrigger verloopt, gebruikt u de Set-JobTrigger cmdlet om de Waarde Van Herhalingsduration in te stellen op nul (0).

Deze parameter is alleen geldig wanneer de parameters Once, At en RepetitionInterval worden gebruikt in de opdracht.

Type:TimeSpan
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 tijdsperiodeobject 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 TimeSpan-object .

Type:TimeSpan
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RepeatIndefinitely

Deze parameter, die beschikbaar is 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
Accept pipeline input:False
Accept wildcard characters: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 of notatie of <Domain\Username> voer een sterretje (*) in <UserName> om alle gebruikers weer te geven. De standaardwaarde is alle gebruikers.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WeeksInterval

Hiermee geeft u het aantal weken tussen exemplaren op een wekelijks taakschema. Bijvoorbeeld een waarde van het starten van 3 de geplande taak op weken1, 7 4enzovoort. De standaardwaarde is 1.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Wekelijks

Hiermee geeft u een terugkerende wekelijkse taakplanning op. Gebruik de andere parameters in de weekparameter die is ingesteld om de planningsgegevens op te geven.

Type:SwitchParameter
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

Geen

U kunt invoer voor deze cmdlet niet doorsluisen.

Uitvoerwaarden

Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger

Notities

  • Taaktriggers worden niet opgeslagen op schijf. Geplande taken worden echter opgeslagen op schijf en u kunt de Get-JobTrigger taaktrigger van elke geplande taak ophalen.

  • New-JobTrigger voorkomt niet dat u een taaktrigger maakt die geen geplande taak uitvoert, zoals eenmalige trigger voor een datum in het verleden.

  • De Register-ScheduledJob cmdlet accepteert een ScheduledJobTrigger-object , zoals een object dat wordt geretourneerd door de New-JobTrigger cmdlets Get-JobTrigger of een hash-tabel met triggerwaarden.

    Gebruik de volgende sleutels om een hash-tabel te verzenden.

    • Frequentie: Once, Daily, Weekly, , AtStartup, of AtLogon
    • Op: elke geldige tijdtekenreeks, zoals 3am
    • DaysOfWeek: elke combinatie van dagnamen als tekenreeksen, zoals "Monday", "Wednesday"
    • Interval: een geldig frequentie-interval als geheel getal
    • RandomDelay: elke geldige tijdsperiodetekenreeks, zoals 30minutes
    • Gebruiker: elke geldige gebruiker, zoals Domain1\User01; wordt alleen gebruikt met de AtLogon-frequentiewaarde