Stop-Job
Leállítja a PowerShell háttérfeladatát.
Syntax
Stop-Job
[-PassThru]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-Job] <Job[]>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Stop-Job
[-PassThru]
[-Filter] <Hashtable>
[-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, illetve úgy, hogy átadunk egy feladatobjektumot a következőnek Stop-Job
: .
A használatával Stop-Job
leállíthatja a háttérfeladatokat, például azokat, amelyek bármely Start-Job
parancsmag parancsmagjának vagy AsJob paraméterének használatával lettek elindítva. 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 Stop-Job
kezdődően leállítja az egyéni feladattípusokat is, például a WorkflowJobs-feladatokat és az Ütemezett feladatok példányait. Ha engedélyezni Stop-Job
szeretné egy feladat egyéni feladattípussal való leállítását, importálja az egyéni feladattípust támogató modult a munkamenetbe, mielőtt parancsot futtatna Stop-Job
, akár a Import-Module
parancsmaggal, akár a modulban lévő parancsmag használatával vagy lekérésével. 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 Stop-Job
példa bemutatja, hogyan állíthat le egy távoli számítógépen futó feladatot a parancsmaggal.
Mivel a feladatot a Invoke-Command
parancsmaggal indították el egy Start-Job
parancs távoli futtatásához, a feladatobjektum a távoli számítógépen lesz tárolva. Egy parancs távoli futtatásához Stop-Job
egy másik Invoke-Command
parancsot kell használnia. 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 tárolja a munkamenet-objektumot a $s
változóban. 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 a rendszer eseménynaplójában található összes eseményt. Az eredményként kapott feladatobjektumot a $j
változó tárolja.
A harmadik parancs leállítja a feladatot. A parancsmaggal Invoke-Command
futtat egy Stop-Job
parancsot a PsSession on Server01 rendszerben. Mivel a feladatobjektumok a helyi számítógépen lévő változóban $j
vannak tárolva, a parancs a Hatókör módosító használatával helyi változóként azonosítja azokat $j
. 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 elérhető $s
lesz.
2. példa: Háttérfeladat leállítása
Stop-Job -Name "Job1"
Ez a parancs leállítja a Job1
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ítójuk alapján azonosítja őket.
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ó szerint
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 az InstanceID alapján.
Az első parancs a Get-Job
parancsmaggal lekéri a feladatokat az aktuális munkamenetben. A parancs 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ábla tartalmazza az egyes feladatok InstanceID azonosí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
olyan parancsot használ, amely az 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 Stop-Job
példa bemutatja, hogyan állíthat le egy távoli számítógépen futó feladatot a parancsmaggal.
Mivel a feladat a parancsmag AsJob paraméterével Invoke-Command
lett elindítva, a Feladat objektum 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 egy helyi Stop-Job
paranccsal leállíthatja a feladatot.
Az első parancs a Invoke-Command
parancsmaggal indít el egy háttérfeladatot a Server01 számítógépen. A parancs az 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 visszaad.
A parancs menti a feladatobjektumot a $j
változóba.
A második parancs egy folyamatoperátor használatával küldi el a változóban lévő feladatot a $j
következőnek Stop-Job
: . A parancs a PassThru paraméterrel irányít Stop-Job
egy feladatobjektumot. A feladatobjektum megjelenítése megerősíti, hogy a feladat állapota Leállítva.
A távoli háttérfeladatokkal kapcsolatos további információkért lásd: about_Remote_Jobs.
Paraméterek
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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, ahol a kulcsok feladattulajdonságok, az értékek pedig feladattulajdonság-értékek.
Ez a paraméter csak egyéni feladattípusokon működik, például WorkflowJobs és ScheduledJobs feladatokon. Nem működik a szabványos háttérfeladatokon, például a Start-Job
parancsmaggal létrehozottakon.
A paraméter támogatásáról további információt a feladattípus súgótémakörében talál.
Ez a paraméter a Windows PowerShell 3.0-s verzióban lett bevezetve.
Type: | Hashtable |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
Meghatározza 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. Könnyebb megjegyezni és begépelni, mint a példányazonosítót, de ez 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 következőt Get-Job
: .
Type: | Int32[] |
Position: | 0 |
Default value: | All jobs |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Meghatározza 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 következőt Get-Job
: .
Type: | Guid[] |
Position: | 0 |
Default value: | All jobs |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Job
Meghatározza a parancsmag által leállított feladatokat. Adjon meg egy változót, amely tartalmazza a feladatokat vagy egy parancsot, amely lekéri a feladatokat. Folyamatkezelővel feladatokat is elküldhet a Stop-Job
parancsmagnak. Alapértelmezés szerint Stop-Job
törli az aktuális munkamenetben elindított összes feladatot.
Type: | Job[] |
Position: | 0 |
Default value: | All jobs |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
A parancsmag által leállított feladatok rövid nevét adja meg. Adja meg a feladatneveket egy vesszővel tagolt listában, vagy használjon helyettesítő karaktereket (*
) a feladatnév-minta megadásához. Alapértelmezés szerint Stop-Job
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 a Confirm paramétereket, amikor név alapján állítja le a feladatokat.
Type: | String[] |
Position: | 0 |
Default value: | All jobs |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-PassThru
Egy objektumot ad vissza, amely azt az elemet jelöli, amellyel dolgozik. Alapértelmezés szerint ez a parancsmag nem ad kimenetet.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-State
Feladatállapotot ad meg. Ez a parancsmag csak a megadott állapotú feladatokat állítja le. A paraméter elfogadható értékei a következők:
NotStarted
Running
Completed
Failed
Stopped
Blocked
Suspended
Disconnected
Suspending
Stopping
A feladatállapotokkal kapcsolatos további információkért lásd: JobState Enumeration.
Type: | JobState |
Accepted values: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Default value: | All jobs |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Bevitelek
System.Management.Automation.RemotingJob
Feladatobjektumot a parancsmagba helyezhet át.
Kimenetek
None
Alapértelmezés szerint ez a parancsmag nem ad vissza kimenetet.
System.Management.Automation.PSRemotingJob
A PassThru paraméter használatakor ez a parancsmag egy feladatobjektumot ad vissza.
Jegyzetek
A PowerShell a következő aliasokat tartalmazza:Stop-Job
- Összes platform:
spjb
Kapcsolódó hivatkozások
Visszajelzés
Visszajelzés küldése és megtekintése a következőhöz: