Megosztás a következőn keresztül:


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 Stop-Job.

A Stop-Job segítségével leállítja a háttérfeladatokat, például azokat, amelyek a Start-Job parancsmaggal vagy a parancsmag 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 a Stop-Job az egyéni feladattípusokat is leállítja, például WorkflowJobs és Ütemezett feladatokpéldányait. Ha engedélyezni szeretné, hogy Stop-Job egyéni feladattípussal állítsa le a feladatokat, importálja az egyéni feladattípust támogató modult a munkamenetbe egy Stop-Job parancs futtatása előtt, akár a Import-Module parancsmag használatával, akár a modul parancsmagjának 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 -LogName 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 Stop-Job parancsmaggal.

Mivel a feladat a Invoke-Command parancsmaggal 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 Invoke-Command parancs távoli futtatásához egy másik Stop-Job 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 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 $jvannak 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. A hatókör-módosító használatával kapcsolatos további információkért lásd a 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 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ítja őket a 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ó 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 a InstanceIDalapján.

Az első parancs a Get-Job parancsmaggal szerzi be a feladatokat az aktuális munkamenetben. A parancs egy folyamatkezelő (|) használatával 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 InstanceID. 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 -LogName System} -AsJob
$j | Stop-Job -PassThru
Id    Name    State      HasMoreData     Location         Command
--    ----    ----       -----------     --------         -------
5     Job5    Stopped    True            user01-tablet    Get-EventLog -LogName Sy...

Ez a példa bemutatja, hogyan állíthat le egy távoli számítógépen futó feladatot a Stop-Job parancsmaggal.

Mivel a feladat a parancsmag Invoke-Command paraméterével kezdődött, 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 helyi Stop-Job paranccsal állíthatja le 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 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 feladatot a $j változóban a Stop-Job. A parancs a PassThru paraméterrel utasítja a Stop-Job 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 működik, például WorkflowJobs és Ütemezett feladatok. Nem működik szabványos háttérfeladatokon, például a Start-Job parancsmag használatával 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.

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 Stop-Job parancsmagnak. Alapértelmezés szerint Stop-Job 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 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 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:

  • NotStarted
  • Running
  • Completed
  • Failed
  • Stopped
  • Blocked
  • Suspended
  • Disconnected
  • Suspending
  • Stopping

További információ a feladatállapotokról a JobState Enumerationcímű szakaszban található.

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

Ez a parancsmag alapértelmezés szerint 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:

  • Minden platform:
    • spjb