Set-ScheduledJob
Ändrar schemalagda jobb.
Syntax
Set-ScheduledJob
[-Name <String>]
[-ScriptBlock <ScriptBlock>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-Name <String>]
[-FilePath <String>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-InputObject] <ScheduledJobDefinition>
[-ClearExecutionHistory]
[-PassThru]
[<CommonParameters>]
Description
Cmdleten Set-ScheduledJob
ändrar egenskaperna för schemalagda jobb, till exempel de kommandon som jobben kör eller de autentiseringsuppgifter som krävs för att köra jobbet. Du kan också använda den för att rensa körningshistoriken för det schemalagda jobbet.
Om du vill använda den här cmdleten börjar du med att använda cmdleten Get-ScheduledJob
för att hämta det schemalagda jobbet. Skicka sedan det schemalagda jobbet till Set-ScheduledJob
eller spara jobbet i en variabel och använd parametern InputObject för att identifiera jobbet. Använd de återstående parametrarna Set-ScheduledJob
för för att ändra jobbegenskaperna eller rensa körningshistoriken.
Även om du kan använda Set-ScheduledJob
för att ändra utlösare och alternativ för ett schemalagt jobb, Add-JobTrigger
ger cmdletarna , Set-JobTrigger
och Set-ScheduledJobOption
-cmdletarna mycket enklare sätt att utföra dessa uppgifter. Om du vill skapa ett nytt schemalagt jobb använder du cmdleten Register-ScheduledJob
.
Utlösarparametern Set-ScheduledJob
för lägger till en eller flera jobbutlösare som startar jobbet.
Parametern Utlösare är valfri, så du kan lägga till utlösare när du skapar det schemalagda jobbet, lägga till jobbutlösare senare, lägga till RunNow-parametern för att starta jobbet omedelbart, använda cmdleten Start-Job
för att starta jobbet omedelbart när som helst eller spara det origgade schemalagda jobbet som en mall för andra jobb.
Set-ScheduledJob
ä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 skriptet som ett jobb kör
Det här exemplet visar hur du ändrar skriptet som körs i ett schemalagt jobb.
Get-ScheduledJob -Name "Inventory"
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-Inventory.ps1 True
Get-ScheduledJob -Name "Inventory" | Set-ScheduledJob -FilePath "C:\Scripts\Get-FullInventory.ps1" -PassThru
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-FullInventory.ps1 True
Det första kommandot använder cmdleten Get-ScheduledJob
för att hämta det schemalagda inventeringsjobbet. Utdata visar att jobbet kör skriptet Get-Inventory.ps1.
Det andra kommandot använder cmdleten Get-ScheduledJob
för att hämta det schemalagda inventeringsjobbet. En pipelineoperator (|
) skickar det schemalagda jobbet till cmdleten Set-ScheduledJob
. Cmdleten Set-ScheduledJob
använder parametern Script för att ange ett nytt skript, Get-FullInventory.ps1
. Kommandot använder parametern PassThru för att returnera det schemalagda jobbet efter ändringen.
Det här kommandot krävs inte. den ingår endast för att visa effekten av skriptändringen.
Exempel 2: Ta bort körningshistoriken för ett schemalagt jobb
Det här exemplet tar bort den aktuella körningshistoriken och sparade jobbresultat för ett schemalagt jobb.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
Kommandot använder cmdleten Get-ScheduledJob
för att hämta det schemalagda jobbet BackupArchive. En pipelineoperator (|
) skickar jobbet till cmdleten Set-ScheduledJob
för att ändra det. Cmdleten Set-ScheduledJob
använder parametern ClearExecutionHistory för att ta bort körningshistoriken och sparade resultat.
Mer information om körningshistorik och sparade jobbresultat för schemalagda jobb finns i about_Scheduled_Jobs.
Exempel 3: Ändra schemalagda jobb på en fjärrdator
Det här kommandot ändrar initieringsskriptet i alla schemalagda jobb på fjärrdatorer.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
Kommandot använder cmdleten Invoke-Command
för att köra ett kommando på Server01- och Server02-datorerna.
Fjärrkommandot börjar med ett Get-ScheduledJob
kommando som hämtar alla schemalagda jobb på datorn. De schemalagda jobben skickas till cmdleten Set-ScheduledJob
, vilket ändrar initieringsskriptet till SetForRun.ps1
.
Parametrar
-ArgumentList
Anger värden för parametrarna för skriptet som anges av FilePath-parametern eller för kommandot som anges av parametern ScriptBlock .
Typ: | Object[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Authentication
Anger den mekanism som används för att autentisera användarens autentiseringsuppgifter. De acceptabla värdena för den här parametern är:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Standardvärdet är Default
. Mer information om värdena för den här parametern finns i AuthenticationMechanism Enumeration i PowerShell SDK.
Varning
CredSSP-autentisering (CredSSP), där användarens autentiseringsuppgifter skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på mer än en resurs, till exempel åtkomst till en fjärrnätverksresurs. Den här mekanismen ökar säkerhetsrisken för fjärråtgärden. Om fjärrdatorn komprometteras kan de autentiseringsuppgifter som skickas till den användas för att styra nätverkssessionen.
Typ: | AuthenticationMechanism |
Godkända värden: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ClearExecutionHistory
Tar bort den aktuella körningshistoriken och det sparade resultatet av det schemalagda jobbet.
Jobbkörningshistoriken och jobbresultatet sparas med det schemalagda jobbet i $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
katalogen på den dator där jobbet skapas. Om du vill se körningshistoriken använder du cmdleten Get-Job
. Använd cmdleten för att hämta jobbresultatet Receive-Job
.
Den här parametern påverkar inte de händelser som Schemaläggaren skriver till Windows-händelseloggarna och hindrar inte Windows PowerShell från att spara jobbresultat. Om du vill hantera antalet jobbresultat som sparas använder du parametern MaxResultCount .
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Anger ett användarkonto som har behörighet att köra det schemalagda jobbet. Standard är den aktuella användaren.
Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential-objekt , till exempel ett från cmdleten Get-Credential
. Om du bara anger ett användarnamn uppmanas du att ange ett lösenord.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FilePath
Anger ett skript som det schemalagda jobbet körs på. Ange sökvägen till en .ps1-fil på den lokala datorn. Om du vill ange standardvärden för skriptparametrarna använder du parametern ArgumentList . Varje schemalagt jobb måste ha antingen ett ScriptBlock - eller FilePath-värde .
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InitializationScript
Anger den fullständigt kvalificerade sökvägen till ett Windows PowerShell-skript (.ps1
). Initieringsskriptet körs i sessionen som skapas för bakgrundsjobbet före de kommandon som anges av parametern ScriptBlock eller skriptet som anges av Parametern FilePath . Du kan använda initieringsskriptet för att konfigurera sessionen, till exempel lägga till filer, funktioner eller alias, skapa kataloger eller söka efter förutsättningar.
Om du vill ange ett skript som kör de primära jobbkommandona använder du parametern FilePath .
Om initieringsskriptet genererar ett fel, inklusive ett icke-avslutande fel, körs inte den aktuella instansen av det schemalagda jobbet och dess status är Misslyckad.
Typ: | ScriptBlock |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InputObject
Anger det schemalagda jobb som ska ändras. Ange en variabel som innehåller ScheduledJobDefinition-objekt eller skriv ett kommando eller uttryck som hämtar ScheduledJobDefinition-objekt, till exempel ett Get-ScheduledJob
kommando. Du kan också skicka ett ScheduledJobDefinition-objekt till Set-ScheduledJob
.
Om du anger flera schemalagda jobb Set-ScheduledJob
gör du samma ändringar i alla jobb.
Typ: | ScheduledJobDefinition |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-MaxResultCount
Anger hur många jobbresultatposter som underhålls för det schemalagda jobbet. Standardvärdet är 32.
Windows PowerShell sparar körningshistoriken och resultaten för varje utlöst instans av det schemalagda jobbet på disken. Värdet för den här parametern avgör antalet jobbinstansresultat som sparas för det här schemalagda jobbet. När antalet jobbinstansresultat överskrider det här värdet tar Windows PowerShell bort resultatet från den äldsta jobbinstansen för att göra plats för resultatet av den senaste jobbinstansen.
Jobbkörningshistoriken och jobbresultatet sparas i
$HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
kataloger på den dator där jobbet skapas. Om du vill se körningshistoriken använder du cmdleten Get-Job
. Använd cmdleten för att hämta jobbresultatet Receive-Job
.
Parametern MaxResultCount anger värdet för egenskapen ExecutionHistoryLength för det schemalagda jobbet.
Om du vill ta bort den aktuella körningshistoriken och jobbresultatet använder du parametern ClearExecutionHistory .
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Name
Anger ett nytt namn för det schemalagda jobbet och instanserna av det schemalagda jobbet. Namnet måste vara unikt på den lokala datorn.
Om du vill identifiera det schemalagda jobb som ska ändras använder du parametern InputObject eller skicka ett schemalagt jobb från Get-ScheduledJob
till Set-ScheduledJob
.
Den här parametern ändrar inte namnen på jobbinstanser på disken. Det påverkar endast jobbinstanser som startas när det här kommandot har slutförts.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PassThru
Returnerar ett objekt som representerar det objekt som du arbetar med. 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 |
-RunAs32
Kör det schemalagda jobbet i en 32-bitarsprocess.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RunEvery
Används för att ange hur ofta jobbet ska köras. Använd till exempel det här alternativet för att köra ett jobb var 15:e minut.
Typ: | TimeSpan |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RunNow
Startar ett jobb omedelbart så snart cmdleten Set-ScheduledJob
körs. Den här parametern eliminerar behovet av att utlösa Schemaläggaren för att köra ett Windows PowerShell-skript omedelbart efter registreringen och kräver inte att användarna skapar en utlösare som anger ett startdatum och en starttid.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ScheduledJobOption
Anger alternativ för det schemalagda jobbet. Ange ett ScheduledJobOptions-objekt , till exempel ett objekt som du skapar med hjälp av cmdleten New-ScheduledJobOption
eller ett hash-tabellvärde.
Du kan ange alternativ för ett schemalagt jobb när du registrerar det schemalagda jobbet eller använder Set-ScheduledJobOption
cmdletarna eller Set-ScheduledJob
för att ange eller ändra alternativ.
Många av alternativen och deras standardvärden avgör om och när ett schemalagt jobb körs. Se till att granska de här alternativen innan du schemalägger ett jobb. En beskrivning av de schemalagda jobbalternativen, inklusive standardvärdena, finns i New-ScheduledJobOption
.
Om du vill skicka en hash-tabell använder du följande nycklar. I följande hash-tabell visas nycklarna med sina standardvärden.
@{# Power SettingsStartIfOnBattery=$False;StopIfGoingOnBattery=$True; WakeToRun=$False; # Idle SettingsStartIfNotIdle=$False; IdleDuration="00:10:00"; IdleTimeout="01:00:00"; StopIfGoingOffIdle=$True; RestartOnIdleResume=$False;# Security settingsShowInTaskScheduler=$TrueRunElevated=$False;# MiscRunWithoutNetwork=$False;DoNotAllowDemandStart=$False;MultipleInstancePolicy=IgnoreNew# Can be IgnoreNew, Parallel, Queue, StopExisting}
Typ: | ScheduledJobOptions |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ScriptBlock
Anger de kommandon som det schemalagda jobbet körs på. Omslut kommandona i klammerparenteser ({}
) för att skapa ett skriptblock. Om du vill ange standardvärden för kommandoparametrar använder du parametern ArgumentList .
Varje Register-ScheduledJob
kommando måste använda parametrarna ScriptBlock eller FilePath .
Typ: | ScriptBlock |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Trigger
Anger utlösarna för det schemalagda jobbet. Ange ett eller flera ScheduledJobTrigger-objekt , till exempel de objekt som cmdleten New-JobTrigger
returnerar, eller en hash-tabell med jobbutlösarnycklar och värden.
En jobbutlösare startar ett schemalagt jobb automatiskt på en engångs- eller återkommande schemalagd eller när en händelse inträffar.
Jobbutlösare är valfria. Du kan lägga till en utlösare när du skapar det schemalagda jobbet, använda Add-JobTrigger
cmdletarna eller Set-ScheduledJob
för att lägga till utlösare senare eller använda cmdleten Start-Job
för att starta det schemalagda jobbet omedelbart. Du kan också skapa och underhålla ett schemalagt jobb som inte har några jobbutlösare.
Om du vill skicka en hash-tabell använder du följande nycklar.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(eller någon giltig tidssträng); DaysOfWeek="Monday", "Wednesday"
(eller någon kombination av dagnamn); Interval=2
(eller något giltigt frekvensintervall); RandomDelay="30minutes"
(eller någon giltig tidsintervallsträng); User="Domain1\User01"
(eller en giltig användare; används endast med AtLogon-frekvensvärdet)
}
Typ: | ScheduledJobTrigger[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka ett schemalagt jobb 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 det schemalagda jobb som det ändrade.
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