Delen via


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

De New-JobTrigger cmdlet maakt een taaktrigger die een geplande taak start volgens een eenmalig of terugkerend schema, of wanneer er een gebeurtenis plaatsvindt.

U kunt het ScheduledJobTrigger-object 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-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: 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 die slechts één keer een geplande taak start. De waarde van de at-parameter is een tekenreeks die Windows PowerShell converteert naar een DateTime-object .

De parameterwaarde At 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, die 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 in het verleden zijn, wordt de geplande taak gestart bij het volgende exemplaar, dat drie dagen later is 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. Als gevolg hiervan 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. Als 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 die elke maandag, woensdag en vrijdag om 12:01 uur een taak start. 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 taak SyncApps . 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 om alleen gedurende een bepaalde tijd uit te voeren.

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 eenmaal per 12 uur voor onbepaalde tijd wordt uitgevoerd. De planning 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 parameter At 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 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
Required:True
Accept pipeline input:False
Accept wildcard characters: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:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AtStartup

Hiermee start u de geplande taak wanneer Windows wordt gestart.

Type:SwitchParameter
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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, 47 enzovoort. De standaardwaarde is 1.

Type:Int32
Position:Named
Default value:None
Required:False
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 getallen60-, waarbij 0 zondag wordt aangegeven. 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[]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Once

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
Required:True
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
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Required:False
Accept pipeline input:False
Accept wildcard characters: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 wordt geactiveerd, gebruikt u de Set-JobTrigger cmdlet om de waarde 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
Required:False
Accept pipeline input:False
Accept wildcard characters: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, 0wordt 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.

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

Type:TimeSpan
Position:Named
Default value:None
Required:False
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 <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
Required:False
Accept pipeline input:False
Accept wildcard characters: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:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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, 74enzovoort. De standaardwaarde is 1.

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

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

ScheduledJobTrigger

Deze cmdlet retourneert een ScheduledJobTrigger-object dat de gemaakte trigger vertegenwoordigt.

Notities

  • Taaktriggers worden niet opgeslagen op schijf. Geplande taken worden echter opgeslagen op schijf en u kunt de Get-JobTrigger taaktrigger van een 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 of Get-JobTrigger cmdlets, of een hash-tabel met triggerwaarden.

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

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