Set-JobTrigger
Ändrar jobbutlösaren för ett schemalagt jobb.
Syntax
Set-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-DaysInterval <Int32>]
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
[-At <DateTime>]
[-User <String>]
[-DaysOfWeek <DayOfWeek[]>]
[-AtStartup]
[-AtLogOn]
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[-Daily]
[-Weekly]
[-PassThru]
[<CommonParameters>]
Description
Cmdleten Set-JobTrigger
ändrar egenskaperna för jobbutlösare för schemalagda jobb. Du kan använda den för att ändra den tid eller frekvens där jobben startar eller för att ändra från ett tidsbaserat schema till scheman som utlöses av en inloggning eller start.
En jobbutlösare definierar ett återkommande schema eller villkor för att starta ett schemalagt jobb. Även om jobbutlösare inte sparas på disk kan du ändra jobbutlösare för schemalagda jobb som sparas på disk.
Om du vill ändra en jobbutlösare för ett schemalagt jobb börjar du med cmdleten Get-JobTrigger
för att hämta jobbutlösaren för ett schemalagt jobb. Skicka sedan utlösaren till Set-JobTrigger
eller spara utlösaren i en variabel och använd parametern Set-JobTrigger
för cmdlet för att identifiera utlösaren.
Använd de återstående parametrarna Set-JobTrigger
för för att ändra jobbutlösaren.
När du ändrar typen av en jobbutlösare, till exempel att ändra en jobbutlösare från en daglig eller veckovis utlösare till en AtLogon-utlösare , tas de ursprungliga utlösaregenskaperna bort. Men om du ändrar värdena för utlösaren, men inte dess typ, till exempel ändra dagar i en veckoutlösare, ändras bara de egenskaper som du anger. Alla andra egenskaper för den ursprungliga jobbutlösaren behålls.
Set-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: Ändra dagarna i en jobbutlösare
Det här exemplet visar hur du ändrar dagarna i en veckovis jobbutlösare.
Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
Get-JobTrigger -Name "DeployPackage" | Set-JobTrigger -DaysOfWeek "Wednesday", "Sunday" -PassThru
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Sunday} True
Det första kommandot använder cmdleten Get-JobTrigger
för att hämta jobbutlösaren för det DeployPackage
schemalagda jobbet. Utdata visar att utlösaren startar jobbet vid midnatt på onsdagar och lördagar.
Det andra kommandot använder cmdleten Get-JobTrigger
för att hämta jobbutlösaren för det DeployPackage
schemalagda jobbet. En pipelineoperator (|
) skickar utlösaren till cmdleten Set-JobTrigger
, som ändrar jobbutlösaren så att den DeployPackage
startar jobbet på onsdagar och söndagar. Kommandot använder parametern PassThru för att returnera utlösaren efter ändringen.
Det här kommandot krävs inte. den ingår bara för att visa effekten av utlösarändringen.
Exempel 2: Ändra jobbutlösartypen
Det här exemplet visar hur du ändrar typen av jobbutlösare som startar ett jobb. Kommandona i det här exemplet ersätter en AtStartup
jobbutlösare med en veckoutlösare.
Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
Get-JobTrigger -Name "Inventory" -TriggerID 2 | Set-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At "12:00 AM"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 Weekly 10/31/2011 12:00:00 AM {Monday} True
Det första kommandot använder cmdleten Get-JobTrigger
för att hämta jobbutlösaren för det Inventory
schemalagda jobbet. Utdata visar att jobbet har två utlösare per dag och en AtStartup-utlösare .
Det andra kommandot använder cmdleten Get-JobTrigger
för att hämta jobbutlösaren AtStartup för Inventory
jobbet. Kommandot använder parametern TriggerID för att identifiera jobbutlösaren. En pipelineoperator (|
) skickar jobbutlösaren till cmdleten Set-JobTrigger
, som ändrar den till en veckovis jobbutlösare som körs var fjärde vecka på måndag vid midnatt. Kommandot använder parametern PassThru för att returnera utlösaren efter ändringen.
Det här kommandot krävs inte. den ingår bara för att visa effekten av utlösarändringen.
Exempel 3: Ändra användaren på en fjärrjobbsutlösare
Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Det här kommandot ändrar användaren i alla AtLogon-jobbutlösare för schemalagda jobb på Server01-datorn.
Kommandot använder cmdleten Invoke-Command
för att köra ett kommando på Server01-datorn.
Fjärrkommandot börjar med ett Get-ScheduledJob
kommando som hämtar alla schemalagda jobb på datorn. De schemalagda jobben skickas till cmdleten Get-JobTrigger
, som hämtar jobbutlösare för de schemalagda jobben. Varje jobbutlösare innehåller en JobDefinition-egenskap som innehåller det schemalagda jobbet, så utlösaren förblir associerad med det schemalagda jobbet även när det ändras.
Jobbutlösarna skickas till cmdleten Where-Object
, som hämtar jobbutlösare som har egenskapen Användare . De valda jobbutlösarna skickas till cmdleten Set-JobTrigger
, vilket ändrar användaren till Domain01\Admin02
.
Exempel 4: Ändra en av många jobbutlösare
Get-JobTrigger -Name "SecurityCheck"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 4/24/2013 3:00:00 AM True
2 Weekly 4/24/2013 4:00:00 PM {Sunday} True
3 Once 4/24/2013 4:00:00 PM True
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:00:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:30:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Kommandona i det här exemplet ändrar upprepningsintervallet för utlösaren En gång för jobbet för SecurityCheck
schemalagt jobb från var 60:e minut till var 90:e minut. Det SecurityCheck
schemalagda jobbet har tre jobbutlösare, så kommandona använder parametern TriggerId för cmdleten Get-JobTrigger
för att identifiera jobbutlösaren som ändras.
Det första kommandot använder cmdleten Get-JobTrigger
för att hämta alla jobbutlösare för det SecurityCheck
schemalagda jobbet. Utdata, som visar ID:t för jobbutlösarna, visar att utlösaren Once job har ett ID för 3
.
Det andra kommandot använder parametern TriggerID för cmdleten Get-JobTrigger
för att hämta utlösaren Once för det SecurityCheck
schemalagda jobbet. Kommandot dirigerar utlösaren till cmdleten Format-List
, som visar alla egenskaper för utlösaren Once job (En gång-jobb ). Utdata visar att utlösaren startar jobbet en gång i timmen (RepetitionInterval är 1 timme) under en dag (RepetitionDuration är 1 dag).
Det tredje kommandot ändrar upprepningsintervallet för jobbutlösaren från en timme till 90 minuter. Kommandot returnerar inga utdata.
Det fjärde kommandot visar effekten av ändringen. Utdata visar att utlösaren startar jobbet en gång var 90:e minut (RepetitionInterval är 1 timme, 30 minuter) under en dag (RepetitionDuration är 1 dag).
Parametrar
-At
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 en tid, till exempel April 19, 2012 15:00
, 12/31/2013 9:00 PM
eller 3am
.
Om du inte anger ett element i DateTime-objektet , till exempel sekunder, ändras inte det elementet i jobbutlösaren. Om den ursprungliga jobbutlösaren inte inkluderade ett DateTime-objekt och du utelämnar ett element skapas jobbutlösaren med motsvarande element från aktuellt datum och tid.
När du använder parametern Once anger du värdet för parametern At till ett visst datum och en viss tid. Eftersom standarddatumet i ett DateTime-objekt är det aktuella datumet, resulterar inställningen en tid före den aktuella tiden utan ett explicit datum i en jobbutlösare under en tid tidigare.
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: | False |
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 Användare .
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-AtStartup
Startar det schemalagda jobbet när Windows startar.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Daily
Anger ett återkommande dagligt jobbschema. Använd de andra parametrarna i den dagliga parameteruppsättningen för att ange schemainformationen.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DaysInterval
Anger antalet dagar mellan förekomster enligt ett dagligt schema. Ett värde 3
för startar till exempel det schemalagda jobbet på dagar 1
, 4
och 7
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
, Thursday
, heltal 0
-6
, där 0
representerar söndag eller en asterisk (*
) som ska representeras varje dag. Den här parametern krävs i parameteruppsättningen Veckovis .
Dagnamn konverteras till 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
).
Typ: | DayOfWeek[] |
Godkända värden: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InputObject
Anger jobbutlösare. Ange en variabel som innehåller ScheduledJobTrigger-objekt eller skriv ett kommando eller uttryck som hämtar ScheduledJobTrigger-objekt , till exempel ett Get-JobTrigger
kommando.
Du kan också skicka ett ScheduledJobTrigger-objekt till Set-JobTrigger
.
Om du anger flera jobbutlösare Set-JobTrigger
gör du samma ändringar i alla jobbutlösare.
Typ: | ScheduledJobTrigger[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Once
Anger ett schema som inte är återkommande (en gång).
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PassThru
Returnerar de jobbutlösare som har ändrats. Som standard genererar den här cmdleten inga utdata.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
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 tidsintervallobjekt.
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, på obestämd tid.
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 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 varaktigheten för jobbutlösarens upprepning upphör att gälla anger du värdet RepetitionDuration till noll (0
).
Om du vill ändra upprepningens varaktighet eller upprepningsintervall för en Utlösare av jobbet en gång måste kommandot innehålla parametrarna RepetitionInterval och RepetitionDuration . Om du vill ändra upprepningstiden eller upprepningsintervallen för andra typer av jobbutlösare måste kommandot innehålla parametrarna Once, At, RepetitionInterval och RepetitionDuration .
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 som cmdleten New-TimeSpan
returnerar eller en sträng som kan konverteras till ett tidsintervallobjekt, till exempel 1:05:30
.
Om du vill ändra upprepningens varaktighet eller upprepningsintervall för en Utlösare av jobbet en gång måste kommandot innehålla parametrarna RepetitionInterval och RepetitionDuration . Om du vill ändra upprepningstiden eller upprepningsintervallen för andra typer av jobbutlösare måste kommandot innehålla parametrarna Once, At, RepetitionInterval och RepetitionDuration .
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 parameteruppsättningen Weekly för att ange schemainformationen.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
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
för det schemalagda jobbet på veckor 1
, 4
och 7
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
Du kan skicka en jobbutlösare till den här cmdleten.
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
När du använder parametern PassThru returnerar den här cmdleten de jobbutlösare som den ändrade.
Kommentarer
- Jobbutlösare har en JobDefinition-egenskap som associerar dem med det schemalagda jobbet. När du ändrar jobbutlösaren för ett schemalagt jobb ändras jobbet. Du behöver inte använda ett
Set-ScheduledJob
kommando för att tillämpa den ändrade utlösaren på det schemalagda jobbet.
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