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 returnerar för att ange en jobbutlösare för ett nytt eller befintligt schemalagt jobb. Du kan också skapa en jobbutlösare med hjälp av cmdleten Get-JobTrigger för att hämta jobbutlösaren för ett befintligt schemalagt jobb eller genom att använda ett hash-tabellvärde för att representera 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 Om ämnen 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

PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"

Det här kommandot använder 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 i det förflutna.

Exempel 2: Dagligt schema

PS C:\> New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Id         Frequency       Time                   DaysOfWeek              Enabled
--         ---------       ----                   ----------              -------
0          Daily           9/21/2012 4:15:00 AM                           True

Det här kommandot skapar en jobbutlösare som startar ett schemalagt jobb var 3:e 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 datumet och tiden är tidigare startas det schemalagda jobbet vid nästa förekomst, vilket är 3 dagar senare från parametervärdet Vid .

Exempel 3: Veckoschema

PS C:\> 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 som startar ett schemalagt jobb var fjärde vecka på måndag, onsdag och fredag kl. 23.00 (23:00).

Du kan också ange parametervärdet DaysOfWeek i heltal, till exempel -DaysOfWeek 1, 5.

Exempel 4: Inloggningsschema

PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01

Det här kommandot skapar en jobbutlösare som startar ett schemalagt jobb när domänadministratören loggar in på datorn.

Exempel 5: Använda en slumpmässig fördröjning

PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00

Det här kommandot skapar en jobbutlösare som startar 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 gällande 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

The first command uses the **New-JobTrigger** cmdlet to create a job trigger that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The command saves the job trigger in the $T variable.
PS C:\> $T = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM


The second command uses the Register-ScheduledJob cmdlet to create a scheduled job that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The value of the *Trigger* parameter is the trigger that is stored in the $T variable.
PS C:\> Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $T

Dessa kommandon använder en jobbutlösare för att skapa ett nytt schemalagt jobb.

Exempel 7: Lägga till en jobbutlösare i ett schemalagt jobb

PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)

Det här exemplet visar hur du lägger till en jobbutlösare i ett befintligt schemalagt jobb. Du kan lägga till flera jobbutlösare i alla schemalagda 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 har slutförts ä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

PS C:\> 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

PS C:\> Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00

Det här kommandot stoppar medtvåt SecurityCheck-jobbet, som utlöses 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 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

PS C:\> 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 som Get-Date-cmdleten returnerar, eller en sträng som kan konverteras till ett datum och en tid, till exempel "19 april 2012 15:00", "12/31" eller "3:00". 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 tidigare tid 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
Required:True
Accept pipeline input:False
Accept wildcard characters: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 Användare .

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

-AtStartup

Startar det schemalagda jobbet när Windows startar.

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

-Daily

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
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DaysInterval

Anger antalet dagar mellan förekomster enligt ett dagligt schema. Värdet 3 startar till exempel det schemalagda jobbet dag 1, 4, 7 och så vidare. Standardvärdet är 1.

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

-DaysOfWeek

Anger de veckodagar som ett veckovis schemalagt jobb körs på. Ange dagnamn, till exempel "Måndag" eller heltal 0–6, 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 "Måndag", "Tisdag". Om du omger flera dagnamn i ett enkelt citatteckenpar summeras motsvarande heltalsvärden. Till exempel resulterar "Måndag, Tisdag" (1, 2) i värdet "Onsdag" (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

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
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RandomDelay

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 <formatet hours>:<minutes>:<seconds> , som automatiskt konverteras till ett TimeSpan-objekt .

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

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

-RepetitionDuration

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 New-TimeSpan cmdlet 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 upprepningen av jobbutlösaren 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:0
Required:False
Accept pipeline input:False
Accept wildcard characters: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 som New-TimeSpan cmdlet 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:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-User

Anger de användare som utlöser en AtLogon-start av ett schemalagt jobb. Ange namnet på en användare i <formatet UserName> eller <Domain\Username> eller ange en asterisk (*) som representerar alla användare. Standardvärdet är alla användare.

Type:String
Position:Named
Default value:All users
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Weekly

Anger ett återkommande veckojobbschema. Använd de andra parametrarna i parameteruppsättningen Weekly för att ange schemainformationen.

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

-WeeksInterval

Anger antalet veckor mellan förekomster enligt ett veckojobbschema. Till exempel startar värdet 3 det schemalagda jobbet på vecka 1, 4, 7 och så vidare. Standardvärdet är 1.

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

Indata

None

Du kan inte skicka indata till denna cmdlet.

Utdata

Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger

Kommentarer

  • Jobbutlösare sparas inte på disk. Schemalagda jobb sparas dock till 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 kommer att köra 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 av cmdletarna New-JobTrigger eller Get-JobTrigger eller en hash-tabell med utlösarvärden.

    Om du vill skicka en hash-tabell använder du följande nycklar.

    @{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am" (eller en giltig tidssträng); DaysOfWeek="Monday", "Wednesday" (eller någon kombination av dagnamn); Interval=2 (eller ett giltigt frekvensintervall); RandomDelay="30minutes" (eller en giltig tidsintervallsträng); User="Domain1\User01 (eller en giltig användare; används endast med AtLogon-frekvensvärdet ) }