Stop-Job
Leállítja a PowerShell háttérfeladatát.
Syntax
SessionIdParameterSet (Alapértelmezett)
Stop-Job
[-Id] <Int32[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobParameterSet
Stop-Job
[-Job] <Job[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Stop-Job
[-Name] <String[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Stop-Job
[-InstanceId] <Guid[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Stop-Job
[-State] <JobState>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
FilterParameterSet
Stop-Job
[-Filter] <Hashtable>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
A Stop-Job parancsmag leállítja a folyamatban lévő PowerShell-háttérfeladatokat. Ezzel a parancsmaggal leállíthatja az összes feladatot, vagy leállíthatja a kijelölt feladatokat a nevük, azonosítójuk, példányazonosítójuk vagy állapotuk alapján, vagy ha feladatobjektumot ad át Feladat leállítása.
A Feladat leállítása segítségével leállítja a háttérfeladatokat, például azokat, amelyek a Start-Job parancsmaggal vagy a parancsmagok AsJob paraméterével kezdődtek. Ha leállítja a háttérfeladatot, a PowerShell végrehajtja az adott feladatsorban függőben lévő összes feladatot, majd befejezi a feladatot. A parancs elküldése után a rendszer nem ad hozzá új feladatokat az üzenetsorhoz.
Ez a parancsmag nem törli a háttérfeladatokat. Feladat törléséhez használja a Remove-Job parancsmagot.
A Windows PowerShell 3.0-tól kezdve Feladat leállítása is leállítja az egyéni feladattípusokat, például a munkafolyamat-feladatokat és az ütemezett feladatok példányait. Ha engedélyezni szeretné, hogy Feladat leállítása egyéni feladattípussal állítsa le a feladatokat, importálja az egyéni feladattípust támogató modult a munkamenetbe, mielőtt futtatna egy Stop-Job parancsot, akár a Import-Module parancsmag használatával, akár a modulban lévő parancsmag használatával vagy beolvasásával. Egy adott egyéni feladattípussal kapcsolatos információkért tekintse meg az egyéni feladattípus-funkció dokumentációját.
Példák
1. példa: Feladat leállítása távoli számítógépen Invoke-Command
$s = New-PSSession -ComputerName Server01 -Credential Domain01\Admin02
$j = Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}
Invoke-Command -Session $s -ScriptBlock { Stop-job -Job $Using:j }
Ez a példa bemutatja, hogyan állíthat le egy távoli számítógépen futó feladatot a Feladat leállítása parancsmaggal.
Mivel a feladat a Invoke-Command parancsmag használatával indult el egy Start-Job parancs távoli futtatásához, a feladatobjektum a távoli számítógépen lesz tárolva. Egy másik Invoke-Command paranccsal távolról kell futtatnia egy Stop-Job parancsot. A távoli háttérfeladatokkal kapcsolatos további információkért lásd: about_Remote_Jobs.
Az első parancs létrehoz egy PowerShell-munkamenetet (PSSession) a Server01 számítógépen, majd a munkamenet-objektumot a $s változóban tárolja. A parancs egy tartományi rendszergazda hitelesítő adatait használja.
A második parancs a Invoke-Command parancsmaggal futtat egy Start-Job parancsot a munkamenetben. A feladat parancsa lekéri az összes eseményt a Rendszer eseménynaplójában. Az eredményként kapott feladatobjektum a $j változóban van tárolva.
A harmadik parancs leállítja a feladatot. A Invoke-Command parancsmaggal futtat egy Stop-Job parancsot a PSSession a Server01-en. Mivel a feladatobjektumok $j vannak tárolva, amely a helyi számítógépen lévő változó, a parancs a Hatókör-módosító használatával azonosítja a $j helyi változóként. További információ a Hatókör-módosító használatáról: about_Remote_Variables.
Amikor a parancs befejeződik, a feladat leáll, és a PSSession $s elérhető.
2. példa: Háttérfeladat leállítása
Stop-Job -Name "Job1"
Ez a parancs leállítja a Feladat1 háttérfeladatot.
3. példa: Több háttérfeladat leállítása
Stop-Job -Id 1, 3, 4
Ez a parancs három feladatot állít le. Azonosítja őket az azonosítójuk alapján.
4. példa: Az összes háttérfeladat leállítása
Get-Job | Stop-Job
Ez a parancs leállítja az aktuális munkamenet összes háttérfeladatát.
5. példa: Az összes blokkolt háttérfeladat leállítása
Stop-Job -State Blocked
Ez a parancs leállítja az összes blokkolt feladatot.
6. példa: Feladat leállítása példányazonosító használatával
Get-Job | Format-Table ID, Name, Command, @{Label="State";Expression={$_.JobStateInfo.State}},
InstanceID -Auto
Id Name Command State InstanceId
-- ---- ------- ----- ----------
1 Job1 start-service schedule Running 05abb67a-2932-4bd5-b331-c0254b8d9146
3 Job3 start-service schedule Running c03cbd45-19f3-4558-ba94-ebe41b68ad03
5 Job5 get-service s* Blocked e3bbfed1-9c53-401a-a2c3-a8db34336adf
Stop-Job -InstanceId e3bbfed1-9c53-401a-a2c3-a8db34336adf
Ezek a parancsok bemutatják, hogyan állíthat le egy feladatot a példányazonosítója alapján.
Az első parancs a Get-Job parancsmaggal szerzi be a feladatokat az aktuális munkamenetben. A parancs egy folyamatkezelővel (|) küldi el a feladatokat egy Format-Table parancsnak, amely megjeleníti az egyes feladatok megadott tulajdonságainak táblázatát. A táblázat tartalmazza az egyes feladatok példányazonosítóját. Számított tulajdonságot használ a feladat állapotának megjelenítéséhez.
A második parancs egy Stop-Job parancsot használ, amely a InstanceID paraméterrel állítja le a kijelölt feladatot.
7. példa: Feladat leállítása távoli számítógépen
$j = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-EventLog System} -AsJob
$j | Stop-Job -PassThru
Id Name State HasMoreData Location Command
-- ---- ---- ----------- -------- -------
5 Job5 Stopped True user01-tablet get-eventlog system
Ez a példa bemutatja, hogyan állíthat le egy távoli számítógépen futó feladatot a Feladat leállítása parancsmaggal.
Mivel a feladat a Invoke-Command parancsmag AsJob paraméterével indult, a feladatobjektum a helyi számítógépen található, annak ellenére, hogy a feladat a távoli számítógépen fut. Ezért a feladat leállításához használhat helyi Feladat leállítása parancsot.
Az első parancs a Invoke-Command parancsmaggal indít el egy háttérfeladatot a Server01 számítógépen. A parancs a AsJob paraméterrel futtatja a távoli parancsot háttérfeladatként.
Ez a parancs egy feladatobjektumot ad vissza, amely ugyanaz a feladatobjektum, amelyet a Start-Job parancsmag ad vissza. A parancs menti a feladatobjektumot a $j változóba.
A második parancs egy folyamatkezelővel küldi el a feladatokat a $j változóban a Stop-Jobnak. A parancs a PassThru paraméterrel irányítja Feladat-leállítási feladatobjektum visszaadására. A feladatobjektum megjelenítése megerősíti, hogy a feladat állapota le van állítva.
A távoli háttérfeladatokkal kapcsolatos további információkért lásd: about_Remote_Jobs.
Paraméterek
-Confirm
Megerősítést kér a parancsmag futtatása előtt.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Cf |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Filter
A feltételek kivonattábláját adja meg. Ez a parancsmag leállítja az összes feltételnek megfelelő feladatokat. Adjon meg egy kivonattáblát, amelyben a kulcsok feladattulajdonságok, az értékek pedig a feladattulajdonságok értékei.
Ez a paraméter csak egyéni feladattípusokon, például munkafolyamat-feladatokon és ütemezett feladatokon működik. Nem működik szabványos háttérfeladatokon, például a Start-Job parancsmaggal létrehozott feladatokon. A paraméter támogatásáról további információt a feladattípus súgótémakörében talál.
Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.
Paramétertulajdonságok
| Típus: | Hashtable |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
FilterParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-Id
Megadja a parancsmag által leállított feladatok azonosítóit. Az alapértelmezett beállítás az aktuális munkamenet összes feladata.
Az azonosító egy egész szám, amely egyedileg azonosítja a feladatot az aktuális munkamenetben.
Egyszerűbb megjegyezni és begépelni, mint a példányazonosítót, de csak az aktuális munkamenetben egyedi.
Beírhat egy vagy több azonosítót vesszővel elválasztva.
Egy feladat azonosítójának megkereséséhez írja be a Get-Job.
Paramétertulajdonságok
| Típus: | Int32[] |
| Alapértelmezett érték: | All jobs |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
SessionIdParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-InstanceId
Megadja a parancsmag által leállított feladatok példányazonosítóit. Az alapértelmezett beállítás az összes feladat.
A példányazonosító egy GUID, amely egyedileg azonosítja a feladatot a számítógépen. Egy feladat példányazonosítójának megkereséséhez használja a Get-Job parancsot.
Paramétertulajdonságok
| Típus: | Guid[] |
| Alapértelmezett érték: | All jobs |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
InstanceIdParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-Job
Megadja a parancsmag által leállított feladatokat. Adjon meg egy változót, amely tartalmazza a feladatokat vagy a feladatokat lekérő parancsot. Folyamatkezelővel feladatokat is elküldhet a Feladat leállítása parancsmagba. Alapértelmezés szerint feladat leállítása törli az aktuális munkamenetben elindított összes feladatot.
Paramétertulajdonságok
| Típus: | Job[] |
| Alapértelmezett érték: | All jobs |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
JobParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-Name
A parancsmag által leállított feladatok rövid nevét adja meg. Írja be a feladatneveket egy vesszővel tagolt listában, vagy használjon helyettesítő karaktereket (*) a feladatnévminta megadásához. Alapértelmezés szerint Feladat leállítása leállítja az aktuális munkamenetben létrehozott összes feladatot.
Mivel a rövid név nem garantáltan egyedi, használja a WhatIf és Erősítse meg paramétereket a feladatok név szerinti leállításakor.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | All jobs |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
NameParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-PassThru
Azt az elemet képviselő objektumot adja vissza, amellyel dolgozik. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-State
Munka állapotát adja meg. Ez a parancsmag csak a megadott állapotú feladatokat állítja le. A paraméter elfogadható értékei a következők:
- Még nem kezdődött el
- Futás
- Befejeződött
- Sikertelen
- Megállt
- Letiltott
- Felfüggesztett
- Szétkapcsolva
- Felfüggesztéséről
- Megállás
További információ a feladatállapotokról: JobState Enumeration az MSDN-kódtárban.
Paramétertulajdonságok
| Típus: | JobState |
| Alapértelmezett érték: | All jobs |
| Elfogadott értékek: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
StateParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-WhatIf
Megjeleníti, mi történne, ha a parancsmag futna. A parancsmag nem fut.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Wi |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
System.Management.Automation.RemotingJob
Egy feladatobjektumot erre a parancsmagra csövezhet.
Kimenetek
None, System.Management.Automation.PSRemotingJob
Ez a parancsmag egy feladatobjektumot ad vissza, ha megadja a PassThru paramétert. Ellenkező esetben ez a parancsmag nem hoz létre kimenetet.