Set-ScheduledJob

Ütemezett feladatok módosítása.

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

A Set-ScheduledJob parancsmag módosítja az ütemezett feladatok tulajdonságait, például a feladatok által futtatott parancsokat vagy a feladat futtatásához szükséges hitelesítő adatokat. Ezzel is törölheti az ütemezett feladat végrehajtási előzményeit.

A parancsmag használatához először használja a Get-ScheduledJob parancsmagot az ütemezett feladat lekéréséhez. Ezután futtasd az ütemezett feladatot egy változóba Set-ScheduledJob , vagy mentse a feladatot, és az InputObject paraméterrel azonosítsa a feladatot. A többi paraméter használatával módosíthatja Set-ScheduledJob a feladat tulajdonságait, vagy törölheti a végrehajtási előzményeket.

Bár az ütemezett feladatok eseményindítóinak és beállításainak módosítására is használható Set-ScheduledJob , a Add-JobTrigger, Set-JobTriggerés Set-ScheduledJobOption parancsmagok sokkal egyszerűbben hajthatják végre ezeket a feladatokat. Új ütemezett feladat létrehozásához használja a Register-ScheduledJob parancsmagot.

Az eseményindító paraméter Set-ScheduledJob egy vagy több feladatindítót ad hozzá, amelyek elindítják a feladatot. Az eseményindító paraméter nem kötelező, így az ütemezett feladat létrehozásakor, a feladat eseményindítóinak későbbi hozzáadásakor, a RunNow paraméter hozzáadásával azonnal elindíthatja a feladatot, a parancsmaggal Start-Job bármikor azonnal elindíthatja a feladatot, vagy más feladatok sablonjaként mentheti a nem feldolgozott ütemezett feladatot.

Set-ScheduledJob a Windows PowerShellben található PSScheduledJob modul feladatütemezési parancsmagjainak egyik gyűjteménye.

Az ütemezett feladatokról további információt a PSScheduledJob modul Témakörök című témakörében talál. Importálja a PSScheduledJob modult, majd írja be a következőt: Get-Help about_Scheduled* vagy tekintse meg a about_Scheduled_Jobs.

Ezt a parancsmagot a Windows PowerShell 3.0-ban vezettük be.

Példák

1. példa: A feladat által futtatott szkript módosítása

Ez a példa bemutatja, hogyan módosíthatja az ütemezett feladatban futtatott szkriptet.

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

Az első parancs a Get-ScheduledJob parancsmagot használja az Inventory ütemezett feladat lekéréséhez. A kimenet azt mutatja, hogy a feladat a Get-Inventory.ps1 szkriptet futtatja.

A második parancs a Get-ScheduledJob parancsmagot használja az Inventory ütemezett feladat lekéréséhez. Egy folyamatkezelő (|) elküldi az ütemezett feladatot a Set-ScheduledJob parancsmagnak. A Set-ScheduledJob parancsmag a Szkript paraméterrel ad meg egy új szkriptet. Get-FullInventory.ps1 A parancs a Passthru paraméter használatával adja vissza az ütemezett feladatot a módosítás után.

Ez a parancs nem kötelező; csak a szkriptmódosítás hatásának megjelenítése.

2. példa: Ütemezett feladat végrehajtási előzményeinek törlése

Ez a példa törli az ütemezett feladatok aktuális végrehajtási előzményeit és mentett feladateredményeit.

Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory

A parancs a Get-ScheduledJob parancsmagot használja a BackupArchive ütemezett feladat lekéréséhez. A folyamatkezelő (|) elküldi a feladatot a parancsmagnak a Set-ScheduledJob módosításhoz. A Set-ScheduledJob parancsmag a ClearExecutionHistory paraméter használatával törli a végrehajtási előzményeket és mentett eredményeket.

Az ütemezett feladatok végrehajtási előzményeiről és mentett eredményeiről további információt a about_Scheduled_Jobs talál.

3. példa: Ütemezett feladatok módosítása távoli számítógépen

Ez a parancs módosítja az inicializálási szkriptet a távoli számítógépek összes ütemezett feladatában.

Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
    Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}

A parancs a Invoke-Command parancsmaggal futtat egy parancsot a Server01 és a Server02 számítógépeken.

A távoli parancs egy Get-ScheduledJob olyan paranccsal kezdődik, amely lekéri az összes ütemezett feladatot a számítógépen. Az ütemezett feladatok a Set-ScheduledJob parancsmagra vannak állítva, amely az inicializálási szkriptet a következőre SetForRun.ps1módosítja: .

Paraméterek

-ArgumentList

A FilePath paraméter vagy a ScriptBlock paraméter által megadott parancs paramétereinek értékeit adja meg.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

Megadja a felhasználó hitelesítő adatainak hitelesítéséhez használt mechanizmust. A paraméter elfogadható értékei a következők:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

Az alapértelmezett érték Default. A paraméter értékeivel kapcsolatos további információkért lásd : AuthenticationMechanism Enumeration in the PowerShell SDK.

Figyelemfelhívás

A hitelesítő adatok biztonsági támogatási szolgáltatójának (CredSSP) hitelesítése, amelyben a felhasználó hitelesítő adatai átadva vannak egy hitelesítendő távoli számítógépnek, olyan parancsokhoz készült, amelyek több erőforráson is hitelesítést igényelnek, például távoli hálózati megosztáshoz való hozzáféréshez. Ez a mechanizmus növeli a távoli művelet biztonsági kockázatát. Ha a távoli számítógép biztonsága sérül, a neki átadott hitelesítő adatokkal szabályozható a hálózati munkamenet.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClearExecutionHistory

Törli az ütemezett feladat aktuális végrehajtási előzményeit és mentett eredményeit.

A feladat végrehajtási előzményei és a feladatok eredményei az ütemezett feladattal együtt lesznek mentve abban a $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs könyvtárban, amelyen a feladat létrejön. A végrehajtási előzmények megtekintéséhez használja a Get-Job parancsmagot. A feladat eredményeinek lekéréséhez használja a Receive-Job parancsmagot.

Ez a paraméter nem befolyásolja a Feladatütemező által a Windows eseménynaplókba írt eseményeket, és nem akadályozza meg a Windows PowerShellt a feladatok eredményeinek mentésében. A mentett feladateredmények számának kezeléséhez használja a MaxResultCount paramétert.

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

-Credential

Olyan felhasználói fiókot ad meg, amely jogosult az ütemezett feladat futtatására. Alapértelmezés szerint az aktuális felhasználó.

Írjon be egy felhasználónevet (például User01 vagy Domain01\User01), vagy írjon be egy PSCredential objektumot, például egyet a Get-Credential parancsmagból. Ha csak felhasználónevet ad meg, a rendszer jelszót fog kérni.

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

-FilePath

Az ütemezett feladat által futtatott szkriptet adja meg. Adja meg a helyi számítógépen található .ps1 fájl elérési útját. A szkriptparaméterek alapértelmezett értékeinek megadásához használja az Argumentumlista paramétert. Minden ütemezett feladatnak ScriptBlock- vagy FilePath-értékkel kell rendelkeznie.

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

-InitializationScript

Egy Windows PowerShell-szkript (.ps1) teljes elérési útját adja meg. Az inicializálási szkript a háttérfeladathoz létrehozott munkamenetben fut a ScriptBlock paraméter vagy a FilePath paraméter által megadott szkript előtt. Az inicializálási szkripttel konfigurálhatja a munkamenetet, például fájlokat, függvényeket vagy aliasokat adhat hozzá, könyvtárakat hozhat létre, vagy ellenőrizheti az előfeltételeket.

Az elsődleges feladatparancsokat futtató szkript megadásához használja a FilePath paramétert .

Ha az inicializálási szkript hibát okoz, beleértve a nem végződő hibát is, az ütemezett feladat aktuális példánya nem fut, és állapota sikertelen.

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

-InputObject

Megadja a módosítani kívánt ütemezett feladatot. Adjon meg egy változót, amely ScheduledJobDefinition objektumokat tartalmaz, vagy írjon be egy parancsot vagy kifejezést, amely beolvas egy ScheduledJobDefinition objektumot, például egy parancsotGet-ScheduledJob. ScheduledJobDefinition objektumot is becsúszthat a programbaSet-ScheduledJob.

Ha több ütemezett feladatot ad meg, Set-ScheduledJob ugyanazokat a módosításokat hajtja végre az összes feladaton.

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaxResultCount

Megadja, hogy az ütemezett feladathoz hány feladateredmény-bejegyzés van fenntartva. Az alapértelmezett érték 32.

A Windows PowerShell menti az ütemezett feladat minden aktivált példányának végrehajtási előzményeit és eredményeit a lemezen. Ennek a paraméternek az értéke határozza meg az ütemezett feladathoz mentett feladatpéldányok számát. Ha a feladatpéldányok eredményeinek száma meghaladja ezt az értéket, a Windows PowerShell törli a legrégebbi feladatpéldány eredményeit, hogy helyet biztosítsunk a legújabb feladatpéldány eredményeinek.

A feladat végrehajtási előzményei és a feladatok eredményei a következő helyen vannak mentve: $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp> könyvtárak azon a számítógépen, amelyen a feladat létrejön. A végrehajtási előzmények megtekintéséhez használja a Get-Job parancsmagot. A feladat eredményeinek lekéréséhez használja a Receive-Job parancsmagot.

A MaxResultCount paraméter az ütemezett feladat ExecutionHistoryLength tulajdonságának értékét állítja be.

Az aktuális végrehajtási előzmények és feladatok eredményeinek törléséhez használja a ClearExecutionHistory paramétert.

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

-Name

Megadja az ütemezett feladat és az ütemezett feladat példányainak új nevét. A névnek egyedinek kell lennie a helyi számítógépen.

A módosítani kívánt ütemezett feladat azonosításához használja az InputObject paramétert, vagy futtassa az ütemezett feladatot a következőre Get-ScheduledJobSet-ScheduledJob.

Ez a paraméter nem módosítja a lemezen lévő feladatpéldányok nevét. Csak azokra a feladatpéldányokra vonatkozik, amelyek a parancs befejezése után kezdődnek.

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

-PassThru

Azt az elemet képviselő objektumot adja vissza, amellyel dolgozik. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.

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

-RunAs32

Az ütemezett feladatot egy 32 bites folyamatban futtatja.

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

-RunEvery

A feladat futtatásának gyakoriságát határozza meg. Ezzel a beállítással például 15 percenként futtathat egy feladatot.

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

-RunNow

A parancsmag futtatása után Set-ScheduledJob azonnal elindít egy feladatot. Ez a paraméter szükségtelenné teszi a Feladatütemező aktiválását a Windows PowerShell-szkriptek azonnali futtatásához a regisztráció után, és nem követeli meg a felhasználóktól, hogy létrehozzák a kezdő dátumot és időpontot meghatározó eseményindítót.

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

-ScheduledJobOption

Beállítja az ütemezett feladat beállításait. Adjon meg egy ScheduledJobOptions objektumot, például a parancsmaggal New-ScheduledJobOption létrehozott objektumot vagy egy kivonattábla-értéket.

Az ütemezett feladatok beállításait az ütemezett feladat regisztrálásakor, illetve a beállítások beállításához vagy módosításához használhatja a Set-ScheduledJobOption parancsmagok vagy Set-ScheduledJob parancsmagok használatával.

Számos beállítás és alapértelmezett érték határozza meg, hogy egy ütemezett feladat fut-e és mikor. A feladatok ütemezése előtt mindenképpen tekintse át ezeket a beállításokat. Az ütemezett feladatok beállításainak leírását, beleértve az alapértelmezett értékeket is, lásd: New-ScheduledJobOption.

Kivonattábla elküldéséhez használja az alábbi kulcsokat. Az alábbi kivonattáblában a kulcsok az alapértelmezett értékekkel jelennek meg.

@{# 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}

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptBlock

Megadja az ütemezett feladat által futtatott parancsokat. A parancsokat kapcsos zárójelekbe ({}) ágyazva hozzon létre egy szkriptblokkot. A parancsparaméterek alapértelmezett értékeinek megadásához használja az ArgumentList paramétert .

Minden Register-ScheduledJob parancsnak a ScriptBlock vagy a FilePath paramétert kell használnia.

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

-Trigger

Megadja az ütemezett feladat eseményindítóit. Adjon meg egy vagy több ScheduledJobTrigger objektumot, például a parancsmag által visszaadott objektumokat New-JobTrigger , vagy a feladat triggerkulcsainak és értékeinek kivonattábláját.

A feladat-eseményindítók automatikusan elindítanak egy ütemezett feladatot egy egyszeri vagy ismétlődő ütemezett vagy esemény bekövetkezésekor.

A feladat-eseményindítók megadása nem kötelező. Az ütemezett feladat létrehozásakor, a parancsmagok vagy Set-ScheduledJob parancsmagok Add-JobTrigger használatával később eseményindítókat adhat hozzá, vagy a Start-Job parancsmaggal azonnal elindíthatja az ütemezett feladatot. Olyan ütemezett feladatokat is létrehozhat és kezelhet, amelyekhez nincsenek feladat-eseményindítók.

Kivonattábla elküldéséhez használja az alábbi kulcsokat.

@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am" (vagy bármely érvényes idősztring); DaysOfWeek="Monday", "Wednesday" (vagy a napnevek bármely kombinációja); Interval=2 (vagy bármely érvényes gyakorisági intervallum); RandomDelay="30minutes" (vagy bármely érvényes időbélyeg-sztring); User="Domain1\User01" (vagy bármely érvényes felhasználó; csak az AtLogon gyakorisági értékével használva)

}

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobTrigger[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Erre a parancsmagra ütemezett feladatokat is be lehet csövezni.

Kimenetek

None

Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.

Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

A PassThru paraméter használatakor ez a parancsmag a módosított ütemezett feladatot adja vissza.