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 ) }
Relaterade länkar
- about_Scheduled_Jobs
- 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