about_Scheduled_Jobs_Advanced
Rövid leírás
Az ütemezett feladatok speciális témaköreit ismerteti, beleértve az ütemezett feladatok alapjául tartozó fájlstruktúrát is.
Hosszú leírás
További információ a PSScheduledJob modulban található parancsmagokról: PSScheduledJob.
Ütemezett feladatkönyvtárak és -fájlok
A PowerShell ütemezett feladatai PowerShell-feladatok és feladatütemező-feladatok is. Minden ütemezett feladat regisztrálva van a Feladatütemezőben, és a lemezre menti a Microsoft .NET-keretrendszer Szerializálás XML formátumban.
Ütemezett feladat létrehozásakor a PowerShell létrehoz egy könyvtárat az ütemezett feladathoz a $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
helyi számítógépen található könyvtárban. A címtár neve megegyezik a feladat nevével.
Az alábbiakban egy ScheduledJobs-mintakönyvtárat mutatunk be.
Get-ChildItem $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
Directory: C:\Users\User01\AppData\Local
\Microsoft\Windows\PowerShell\ScheduledJobs
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 9/29/2011 10:03 AM ArchiveProjects
d---- 9/30/2011 1:18 PM Inventory
d---- 10/20/2011 9:15 AM Backup-Scripts
d---- 11/7/2011 10:40 AM ProcessJob
d---- 11/2/2011 10:25 AM SecureJob
d---- 9/27/2011 1:29 PM Test-HelpFiles
d---- 9/26/2011 4:22 PM DeployPackage
Minden ütemezett feladatnak saját könyvtára van. A könyvtár tartalmazza az ütemezett feladat XML-fájlja és egy Kimeneti alkönyvtár.
$Path = "$HOME\AppData\Local\Microsoft\Windows\PowerShell"
$Path += "\ScheduledJobs\ProcessJob"
Get-ChildItem $Path
Directory: C:\Users\User01\AppData\Local\Microsoft\Windows\PowerShell
\ScheduledJobs\ProcessJob
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 11/1/2011 3:00 PM Output
-a--- 11/1/2011 3:43 PM 7281 ScheduledJobDefinition.xml
Az ütemezett feladatok kimeneti könyvtára tartalmazza a végrehajtási előzményeit. Minden alkalommal, amikor egy feladat-eseményindító elindít egy ütemezett feladatot, a PowerShell létrehoz egy időbélyeg-névvel ellátott könyvtárat a kimeneti könyvtárban. Az időbélyeg könyvtár egy Results.xml fájlban található feladat eredményeit és egy Status.xml fájl feladatállapotát tartalmazza.
Az alábbi parancs a ProcessJob ütemezett feladat végrehajtási előzménykönyvtárát mutatja be.
$Path = "$HOME\AppData\Local\Microsoft"
$Path += "\Windows\PowerShell\ScheduledJobs\ProcessJob\Output"
Get-ChildItem $Path
Directory: C:\Users\User01\AppData\Local\Microsoft
\Windows\PowerShell\ScheduledJobs\ProcessJob\Output
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 11/2/2011 3:00 AM 20111102-030002-260
d---- 11/3/2011 3:00 AM 20111103-030002-277
d---- 11/4/2011 3:00 AM 20111104-030002-209
d---- 11/5/2011 3:00 AM 20111105-030002-251
d---- 11/6/2011 3:00 AM 20111106-030002-174
d---- 11/7/2011 12:00 AM 20111107-000001-914
d---- 11/7/2011 3:00 AM 20111107-030002-376
$Path = "$HOME\AppData\Local\Microsoft\Windows\PowerShell\"
$Path += "ScheduledJobs\ProcessJob\Output\20111102-030002-260"
Get-ChildItem $Path
Directory: C:\Users\User01\AppData\Local\Microsoft\Windows\PowerShell
\ScheduledJobs\ProcessJob\Output\20111102-030002-260
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 11/2/2011 3:00 AM 581106 Results.xml
-a--- 11/2/2011 3:00 AM 9451 Status.xml
Megnyithatja és megvizsgálhatja a ScheduledJobDefinition.xml, Results.xml és Status.xml fájlokat, vagy a Select-XML
parancsmaggal elemezheti a fájlokat.
Figyelmeztetés
Ne szerkessze az XML-fájlokat. Ha bármely XML-fájl érvénytelen XML-fájlt tartalmaz, a PowerShell törli az ütemezett feladatot és annak végrehajtási előzményeit, beleértve a feladat eredményeit is.
Ütemezett feladat azonnali indítása
Az ütemezett feladatokat kétféleképpen indíthatja el azonnal:
- Futtassa a
Start-Job
parancsmagot az ütemezett feladatok indításához. - Adja hozzá a RunNow paramétert a
Register-ScheduledJob
parancshoz, hogy a parancs futtatása után azonnal elindítsa a feladatot.
A parancsmaggal Start-Job
indított feladatok szabványos PowerShell-háttérfeladatok, nem pedig az ütemezett feladat példányai. Az összes háttérfeladathoz hasonlóan ezek a feladatok is azonnal elindulnak, és nem vonatkoznak rájuk a feladatbeállítások, és nem érintik őket a feladatindítók. A feladat kimenete nincs mentve az ütemezett feladatkönyvtár Kimeneti könyvtárában.
A következő parancs a parancsmag DefinitionName paraméterével Start-Job
indítja el a ProcessJob ütemezett feladatát.
Start-Job -DefinitionName ProcessJob
A feladat kezeléséhez és a feladat eredményeinek lekéréséhez használja a feladatparancsmagokat. A feladatparancsmagokkal kapcsolatos további információkért lásd : about_Jobs.
Feljegyzés
Ha a Feladat parancsmagokat ütemezett feladatok példányaihoz szeretné használni, a PSScheduledJob modult importálni kell a munkamenetbe. A PSScheduledJob modul importálásához írja be Import-Module PSScheduledJob
vagy használja az ütemezett feladat parancsmagot, például Get-ScheduledJob
.
Ütemezett feladat átnevezése
Ütemezett feladat átnevezéséhez használja a parancsmag Név paraméterét Set-ScheduledJob
. Ütemezett feladat átnevezésekor a PowerShell megváltoztatja az ütemezett feladat nevét és az ütemezett feladat könyvtárát. Ez azonban nem módosítja a már futtatott ütemezett feladat példányainak nevét.
Kezdési és befejezési időpontok lekérése
A feladatpéldányok kezdési és befejezési dátumainak és időpontjának lekéréséhez használja az ütemezett feladatokhoz visszaadott ScheduledJob objektum Get-Job
PSBeginTime és P Standard kiadás ndTime tulajdonságait.
Az alábbi példa a Format-Table
parancsmag Tulajdonság paraméterével jeleníti meg a tábla egyes feladatpéldányainak PSBeginTime és P Standard kiadás ndTime tulajdonságait. A Címke nevű számított tulajdonság megjeleníti az egyes feladatpéldányok eltelt idejét.
Get-job -Name UpdateHelpJob |
Format-Table -Property ID, PSBeginTime, PSEndTime,
@{Label="Elapsed Time";Expression={$.PsEndTime - $.PSBeginTime}}
Id PSBeginTime PSEndTime Elapsed Time
-- ----------- --------- ------------
2 11/3/2011 3:00:01 AM 11/3/2011 3:00:39 AM 00:00:38.0053854
3 11/4/2011 3:00:02 AM 11/4/2011 3:01:01 AM 00:00:59.1188475
4 11/5/2011 3:00:02 AM 11/5/2011 3:00:50 AM 00:00:48.3692034
5 11/6/2011 3:00:01 AM 11/6/2011 3:00:54 AM 00:00:52.8013036
6 11/7/2011 3:00:01 AM 11/7/2011 3:00:38 AM 00:00:37.1930350
7 11/8/2011 3:00:01 AM 11/8/2011 3:00:57 AM 00:00:56.2570556
8 11/9/2011 3:00:03 AM 11/9/2011 3:00:55 AM 00:00:51.8142222
9 11/10/2011 3:00:02 AM 11/10/2011 3:00:42 AM 00:00:40.7195954
Végrehajtási előzmények kezelése
Meghatározhatja az egyes ütemezett feladatokhoz mentett feladatpéldány-eredmények számát, és törölheti az ütemezett feladatok végrehajtási előzményeit és mentett feladateredményeit.
Az ütemezett feladatok ExecutionHistoryLength tulajdonsága határozza meg, hogy a rendszer hány feladatpéldány-eredményt ment az ütemezett feladathoz. Ha a mentett eredmények száma meghaladja a ExecutionHistoryLength tulajdonság értékét, a PowerShell törli a legrégebbi példány eredményeit, hogy helyet biztosítsunk a legújabb példány eredményeinek.
A PowerShell alapértelmezés szerint minden ütemezett feladat 32 példányának végrehajtási előzményeit és eredményeit menti. Az érték módosításához használja a parancsmagok Register-ScheduledJob
Set-ScheduledJob
MaxResultCount paramétereit.
Az ütemezett feladatok végrehajtási előzményeinek és összes eredményének törléséhez használja a parancsmag ClearExecutionHistory paraméterét Set-ScheduledJob
. A végrehajtási előzmények törlése nem akadályozza meg, hogy a PowerShell mentse az ütemezett feladat új példányainak eredményeit.
Az alábbi példa splatting használatával hozza létre $JobParms
a parancsmagnak Register-ScheduledJob
átadott paraméterértékeket. További információ: about_Splatting.md.
Az Register-ScheduledJob
ütemezett feladatok létrehozásának felhasználási módjai @JobParms
. A parancs a MaxResultCount paramétert használja 12 értékkel, hogy csak az ütemezett feladat 12 legújabb feladatpéldány-eredményét mentse.
$JobParms = @{
Name = "ProcessJob"
ScriptBlock = {Get-Process}
MaxResultCount = "12"
}
Register-ScheduledJob @JobParms
Az alábbi parancs a parancsmag MaxResultCount paraméterével Set-ScheduledJob
15-re növeli a mentett példányok eredményeit.
Get-ScheduledJob ProcessJob | Set-ScheduledJob -MaxResultCount 15
Az alábbi parancs törli a folyamatjob ütemezett feladat végrehajtási előzményeit és aktuális mentett eredményeit.
Get-ScheduledJob ProcessJob | Set-ScheduledJob -ClearExecutionHistory
Az alábbi parancs lekéri a számítógépen lévő összes ütemezett feladat nevének és ExecutionHistoryLength tulajdonságának értékeit, és megjeleníti őket egy táblában.
Get-ScheduledJob |
Format-Table -Property Name, ExecutionHistoryLength -AutoSize
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: