New-JobTrigger
Skapar en jobbutlösare för ett schemalagt jobb.
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
Cmdleten New-JobTrigger skapar en jobbutlösare som startar ett schemalagt jobb enligt ett engångs- eller återkommande schema, eller när en händelse inträffar.
Du kan använda objektet ScheduledJobTrigger som New-JobTrigger returneras för att ange en jobbutlösare för ett nytt eller befintligt schemalagt jobb. Du kan också skapa en jobbutlösare med cmdleten Get-JobTrigger för att hämta jobbutlösaren för ett befintligt schemalagt jobb eller med ett hash-tabellvärde som representerar en jobbutlösare.
När du skapar en jobbutlösare granskar du standardvärdena för de alternativ som anges av cmdleten New-ScheduledJobOption . Dessa alternativ, som har samma giltiga och standardvärden som motsvarande alternativ i Schemaläggaren, påverkar schemaläggningen och tidpunkten för schemalagda jobb.
New-JobTriggerär en av en samling cmdletar för jobbschemaläggning i modulen PSScheduledJob som ingår i Windows PowerShell.
Mer information om schemalagda jobb finns i avsnittet Om i modulen PSScheduledJob. Importera PSScheduledJob-modulen och skriv sedan: Get-Help about_Scheduled* eller se about_Scheduled_Jobs.
Denna cmdlet introducerades i Windows PowerShell 3.0.
Exempel
Exempel 1: En gång schema
Det här exemplet skapar en jobbutlösare för att bara starta ett schemalagt jobb en gång.
New-JobTrigger -Once -At "1/20/2012 3:00 AM"
Cmdleten New-JobTrigger för att skapa en jobbutlösare som bara startar ett schemalagt jobb en gång. Värdet för parametern At är en sträng som Windows PowerShell konverterar till ett DateTime-objekt.
Parametervärdet At innehåller ett explicit datum, inte bara en tid. Om datumet utelämnades skapas utlösaren med aktuellt datum och 3:00 am-tid, vilket sannolikt representerar en tid tidigare.
Exempel 2: Dagligt schema
Det här exemplet skapar en ny jobbutlösare för att starta ett schemalagt jobb var tredje dag.
New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Det här kommandot skapar en jobbutlösare som startar ett schemalagt jobb var tredje dag kl. 04:15.
Eftersom värdet för parametern At inte innehåller något datum används det aktuella datumet som datumvärde i DateTime-objektet . Om datum och tid är tidigare startas det schemalagda jobbet vid nästa förekomst, vilket är 3 dagar senare från parametervärdet Vid .
Exempel 3: Veckoschema
Det här exemplet skapar en jobbutlösare som startar ett schemalagt jobb var fjärde vecka på angivna dagar i veckan.
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
Det här kommandot skapar en jobbutlösare för att starta ett schemalagt jobb på måndag, onsdag och fredag kl. 23.00 (23.00) var fjärde vecka.
Du kan också ange parametervärdet DaysOfWeek i heltal, till exempel -DaysOfWeek 1, 5.
Exempel 4: Inloggningsschema
Det här exemplet skapar en jobbutlösare för att starta ett schemalagt jobb vid inloggning av en viss användare.
New-JobTrigger -AtLogOn -User Domain01\Admin01
Det här kommandot skapar en jobbutlösare för att starta ett schemalagt jobb när domänadministratören loggar in på datorn.
Exempel 5: Använda en slumpmässig fördröjning
Det här exemplet skapar en ny jobbutlösare med en slumpmässig tidsintervallfördröjning.
New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
Det här kommandot skapar en jobbutlösare för att starta ett schemalagt jobb varje dag kl. 13:00 på morgonen. Kommandot använder parametern RandomDelay för att ange den maximala fördröjningen till 20 minuter. Därför körs jobbet varje dag mellan 01:00 och 01:20, med intervallet varierande pseudo-slumpmässigt.
Du kan använda en slumpmässig fördröjning för sampling, belastningsutjämning och andra administrativa uppgifter. När du anger fördröjningsvärdet granskar du de effektiva och standardvärdena för cmdleten New-ScheduledJobOption och samordnar fördröjningen med alternativinställningarna.
Exempel 6: Skapa en jobbutlösare för ett nytt schemalagt jobb
I det här exemplet används en jobbutlösare för att skapa ett nytt schemalagt jobb.
$t = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $t
Det första kommandot använder cmdleten New-JobTrigger för att skapa en jobbutlösare som startar ett jobb varje måndag, onsdag och fredag kl. 12:01. Kommandot sparar jobbutlösaren i variabeln $t .
Det andra kommandot använder cmdleten Register-ScheduledJob för att skapa ett schemalagt jobb som startar ett jobb varje måndag, onsdag och fredag kl. 12:01. Värdet för utlösarparametern är utlösaren som lagras i variabeln $t .
Exempel 7: Lägga till en jobbutlösare i ett schemalagt jobb
Det här exemplet visar hur du lägger till en jobbutlösare i ett befintligt schemalagt jobb.
Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
Du kan lägga till flera jobbutlösare i valfritt schemalagt jobb.
Kommandot använder cmdleten Add-JobTrigger för att lägga till jobbutlösaren i det schemalagda jobbet SynchronizeApps . Värdet för utlösarparametern är ett New-JobTrigger kommando som kör jobbet varje dag kl. 03:10.
När kommandot är klart är SynchronizeApps ett schemalagt jobb som körs vid de tidpunkter som anges av jobbutlösaren.
Exempel 8: Skapa en utlösare för upprepande jobb
Det här exemplet skapar en utlösare för upprepande jobb som bara körs under en viss tid.
New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
Det här kommandot skapar en jobbutlösare som kör ett jobb var 60:e minut i 48 timmar med början den 12 september 2013 kl. 01:00.
Exempel 9: Stoppa en utlösare för upprepande jobb
Det här exemplet stoppar en utlösare för upprepande jobb.
Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
Med det här kommandot stoppas securitycheck-jobbet , som utlöses var 60:e minut tills jobbutlösaren upphör att gälla.
För att förhindra att jobbet upprepas använder Get-JobTrigger kommandot för att hämta jobbutlösaren för SecurityCheck-jobbet och cmdleten Set-JobTrigger för att ändra upprepningsintervallet och upprepningstiden för jobbutlösaren till noll (0).
Exempel 10: Skapa en jobbutlösare varje timme
Det här exemplet skapar en upprepande jobbutlösare som körs på obestämd tid.
New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
Följande kommando skapar en jobbutlösare som kör ett schemalagt jobb en gång var 12:e timme under en obestämd tidsperiod. Schemat börjar i morgon (2012-09-21) vid midnatt (0:00).
Parametrar
Startar jobbet vid angivet datum och tid. Ange ett DateTime-objekt , till exempel ett som cmdleten Get-Date returnerar, eller en sträng som kan konverteras till ett datum och en tid, till exempel April 19, 2012 15:00, 12/31eller 3am. Om du inte anger ett element för datumet, till exempel året, har datumet i utlösaren motsvarande element från det aktuella datumet.
När du använder parametern Once anger du värdet för parametern At till ett framtida datum och en framtida tid. Eftersom standarddatumet i ett DateTime-objekt är det aktuella datumet, skapas jobbutlösaren för en tid tidigare om du anger en tid före den aktuella tiden utan ett uttryckligt datum.
DateTime-objekt och strängar som konverteras till DateTime-objekt justeras automatiskt för att vara kompatibla med de datum- och tidsformat som valts för den lokala datorn i Region och Språk i Kontrollpanelen.
| Type: | DateTime |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Startar det schemalagda jobbet när de angivna användarna loggar in på datorn. Om du vill ange en användare använder du parametern Användare .
| Type: | SwitchParameter |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Startar det schemalagda jobbet när Windows startar.
| Type: | SwitchParameter |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger ett återkommande dagligt jobbschema. Använd de andra parametrarna i den dagliga parameteruppsättningen för att ange schemainformationen.
| Type: | SwitchParameter |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger antalet dagar mellan förekomster enligt ett dagligt schema. Till exempel startar värdet 3 för det schemalagda jobbet på dagar 1, 4och 7 så vidare. Standardvärdet är 1.
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger de veckodagar som ett veckovis schemalagt jobb körs på. Ange dagnamn, till exempel Monday eller heltal60- , där 0 representerar söndag. Den här parametern krävs i parameteruppsättningen Weekly .
Dagnamn konverteras till sina heltalsvärden i jobbutlösaren. När du omger dagnamn inom citattecken i ett kommando omger du varje dags namn med separata citattecken, till exempel "Monday", "Tuesday". Om du omger flera dagnamn i ett enkelt citatteckenpar summeras motsvarande heltalsvärden. Till exempel "Monday, Tuesday" resulterar (1 + 2) i värdet 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 |
Anger ett icke-återkommande (en gång) eller anpassat upprepande schema. Om du vill skapa ett upprepande schema använder du parametern Once med parametrarna RepetitionDuration och RepetitionInterval .
| Type: | SwitchParameter |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Aktiverar en slumpmässig fördröjning som börjar vid den schemalagda starttiden och anger värdet för maximal fördröjning.
Fördröjningens längd anges pseudo-slumpmässigt för varje start och varierar från ingen fördröjning till den tid som anges av värdet för den här parametern. Standardvärdet, noll (00:00:00), inaktiverar den slumpmässiga fördröjningen.
Ange ett tidsintervallobjekt, till exempel ett som returneras av cmdleten New-TimeSpan , eller ange ett värde i <hours>:<minutes>:<seconds> format som automatiskt konverteras till ett TimeSpan-objekt .
| Type: | TimeSpan |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Den här parametern, som är tillgänglig från Windows PowerShell 4.0, eliminerar behovet av att ange ett TimeSpan.MaxValue-värde för parametern RepetitionDuration för att köra ett schemalagt jobb upprepade gånger under obegränsad tid.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Upprepar jobbet tills den angivna tiden går ut. Upprepningsfrekvensen bestäms av värdet för parametern RepetitionInterval . Om värdet för RepetitionInterval till exempel är 5 minuter och värdet för RepetitionDuration är 2 timmar utlöses jobbet var femte minut i två timmar.
Ange ett tidsintervallobjekt, till exempel ett som cmdleten New-TimeSpan returnerar eller en sträng som kan konverteras till ett tidsintervallobjekt, till exempel 1:05:30.
Om du vill köra ett jobb på obestämd tid lägger du till parametern RepeatIndefinitely i stället.
Om du vill stoppa ett jobb innan jobbutlösarens upprepningstid upphör att gälla använder du cmdleten Set-JobTrigger för att ange upprepningsvärdet till noll (0).
Den här parametern är endast giltig när parametrarna Once, At och RepetitionInterval används i kommandot .
| Type: | TimeSpan |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Upprepar jobbet med det angivna tidsintervallet. Om värdet för den här parametern till exempel är 2 timmar utlöses jobbet varannan timme. Standardvärdet, 0, upprepar inte jobbet.
Ange ett tidsintervallobjekt, till exempel ett som cmdleten New-TimeSpan returnerar eller en sträng som kan konverteras till ett tidsintervallobjekt, till exempel 1:05:30.
Den här parametern är endast giltig när parametrarna Once, At och RepetitionDuration används i kommandot .
| Type: | TimeSpan |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger de användare som utlöser en AtLogon-start för ett schemalagt jobb. Ange namnet på en användare i <UserName> eller <Domain\Username> format eller ange en asterisk (*) som representerar alla användare. Standardvärdet är alla användare.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger ett återkommande jobbschema varje vecka. Använd de andra parametrarna i parameteruppsättningen Weekly för att ange schemainformationen.
| Type: | SwitchParameter |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger antalet veckor mellan förekomster enligt ett jobbschema varje vecka. Till exempel startar värdet 3 för det schemalagda jobbet på veckor 1, 4och 7 så vidare. Standardvärdet är 1.
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Indata
None
Du kan inte skicka indata till den här cmdleten.
Utdata
Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger
Kommentarer
Jobbutlösare sparas inte på disk. Schemalagda jobb sparas dock på disk och du kan använda
Get-JobTriggerför att hämta jobbutlösaren för ett schemalagt jobb.New-JobTriggerförhindrar inte att du skapar en jobbutlösare som inte kör ett schemalagt jobb, till exempel engångsutlösare för ett tidigare datum.Cmdleten
Register-ScheduledJobaccepterar ett ScheduledJobTrigger-objekt , till exempel ett som returneras avNew-JobTriggercmdletarna ellerGet-JobTriggeren hash-tabell med utlösarvärden.Om du vill skicka en hash-tabell använder du följande nycklar.
- Frekvens:
Once,Daily,Weekly,AtStartupellerAtLogon - Vid: en giltig tidssträng, till exempel
3am - DaysOfWeek: valfri kombination av dagnamn som strängar, till exempel
"Monday", "Wednesday" - Intervall: ett giltigt frekvensintervall som ett heltal
- RandomDelay: valfri giltig tidsintervallsträng, till exempel
30minutes - Användare: alla giltiga användare, till exempel
Domain1\User01; används endast med AtLogon-frekvensvärdet
- Frekvens:
Relaterade länkar
- 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
Feedback
Skicka och visa feedback för