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 ScheduledJobTrigger objekt som New-JobTrigger
returnerar 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 hashtabellvä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 modulen PSScheduledJob och skriv sedan: Get-Help about_Scheduled*
eller se about_Scheduled_Jobs.
Den här cmdleten introducerades i Windows PowerShell 3.0.
Exempel
Exempel 1: En gång schema
Det här exemplet skapar en jobbutlösare för att starta ett schemalagt jobb bara 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 skulle utlösaren skapas med det aktuella datumet och 03:00,00, vilket sannolikt kommer att representera 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 klockan 04:15.
Eftersom värdet för parametern At inte innehåller något datum används det aktuella datumet som datumvärde i objektet DateTime. 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
I det här exemplet skapas 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
I det här exemplet skapas 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 maximal fördröjning 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 klockan 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 parametern Trigger ä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 till ett schemalagt jobb.
Kommandot använder cmdleten Add-JobTrigger
för att lägga till jobbutlösaren i SynkroniseraAppar schemalagt jobb. Värdet för parametern Trigger är ett New-JobTrigger
-kommando som kör jobbet varje dag klockan 03:10.
När kommandot har slutförts är SynchronizeApps ett schemalagt jobb som körs vid de tider som anges av jobbutlösaren.
Exempel 8: Skapa en utlösare för upprepande jobb
I det här exemplet skapas 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
Det här kommandot stoppar med två SecurityCheck jobb, som utlöses för att köras var 60:e minut tills jobbutlösaren upphör att gälla.
För att förhindra att jobbet upprepas använder kommandot Get-JobTrigger
för att hämta jobbutlösaren för jobbet SecurityCheck jobb 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
I det här exemplet skapas en utlösare för upprepande jobb 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 på obestämd tid. Schemat börjar i morgon (2012-09-21) vid midnatt (0:00).
Parametrar
-At
Startar jobbet vid angivet datum och tid. Ange ett DateTime- objekt, till exempel ett objekt 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/31
eller 3am
. Om du inte anger ett element i 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.
Typ: | DateTime |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-AtLogOn
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 User.
Typ: | SwitchParameter |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-AtStartup
Startar det schemalagda jobbet när Windows startar.
Typ: | SwitchParameter |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Daily
Anger ett återkommande dagligt jobbschema. Använd de andra parametrarna i parametern Daily för att ange schemainformationen.
Typ: | SwitchParameter |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DaysInterval
Anger antalet dagar mellan förekomster enligt ett dagligt schema. Till exempel startar värdet 3
det schemalagda jobbet på dagar 1
, 4
, 7
och så vidare. Standardvärdet är 1
.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DaysOfWeek
Anger de veckodagar som ett schemalagt veckojobb körs på. Ange dagnamn, till exempel Monday
eller heltal 0
-6
, där 0
representerar söndag. Den här parametern krävs i parameteruppsättningen Weekly.
Dagnamn konverteras till heltalsvärden i jobbutlösaren. När du omger dagnamn inom citattecken i ett kommando omger du varje dags namn inom separata citattecken, till exempel "Monday", "Tuesday"
. Om du omger flera dagnamn i ett enkelt citatteckenpar summeras motsvarande heltalsvärden. Till exempel resulterar "Monday, Tuesday"
(1 + 2
) i värdet Wednesday
(3
).
Typ: | DayOfWeek[] |
Godkända värden: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Once
Anger ett icke-återkommande (en gång) eller anpassat upprepande schema. Om du vill skapa ett upprepat schema använder du parametern Once med parametrarna RepetitionDuration och RepetitionInterval.
Typ: | SwitchParameter |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RandomDelay
Aktiverar en slumpmässig fördröjning som börjar vid den schemalagda starttiden och anger det maximala fördröjningsvärdet.
Längden på fördröjningen 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.
Typ: | TimeSpan |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RepeatIndefinitely
Den här parametern, som är tillgänglig från och med 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 en obestämd period.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RepetitionDuration
Upprepar jobbet tills den angivna tiden upphör att gälla. Upprepningsfrekvensen bestäms av värdet för parametern RepetitionInterval. Om till exempel värdet för RepetitionInterval ä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 objekt 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 varaktigheten för jobbutlösaren upphör att gälla använder du cmdleten Set-JobTrigger
för att ange värdet RepetitionDuration till noll (0
).
Den här parametern är endast giltig när parametrarna Once, Atoch RepetitionInterval används i kommandot .
Typ: | TimeSpan |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RepetitionInterval
Upprepar jobbet vid 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 objekt 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, Atoch RepetitionDuration används i kommandot.
Typ: | TimeSpan |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-User
Anger de användare som utlöser en AtLogon start av 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.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Weekly
Anger ett återkommande veckojobbschema. Använd de andra parametrarna i parametern Weekly för att ange schemainformationen.
Typ: | SwitchParameter |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WeeksInterval
Anger antalet veckor mellan förekomster enligt ett veckovis jobbschema. Till exempel startar värdet 3
det schemalagda jobbet på veckor 1
, 4
, 7
och så vidare. Standardvärdet är 1
.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar ett ScheduledJobTrigger- objekt som representerar den skapade utlösaren.
Kommentarer
Jobbutlösare sparas inte på disk. Schemalagda jobb sparas dock på disk och du kan använda
Get-JobTrigger
för att hämta jobbutlösaren för alla schemalagda jobb.New-JobTrigger
hindrar dig inte från att skapa en jobbutlösare som inte kör ett schemalagt jobb, till exempel engångsutlösare för ett tidigare datum.Cmdleten
Register-ScheduledJob
accepterar ett ScheduledJobTrigger- objekt, till exempel ett som returneras avNew-JobTrigger
- ellerGet-JobTrigger
-cmdletar eller en hash-tabell med utlösarvärden.Om du vill skicka en hash-tabell använder du följande nycklar.
-
Frekvens:
Once
,Daily
,Weekly
,AtStartup
ellerAtLogon
-
Vid: valfri giltig tidssträng, till exempel
3am
-
DaysOfWeek: valfri kombination av dagnamn som strängar, till exempel
"Monday", "Wednesday"
- Intervall: valfritt 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ärde
-
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