Remove-Job
Töröl egy PowerShell-háttérfeladatot.
Syntax
Remove-Job
[-Id] <Int32[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Job] <Job[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Name] <String[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-InstanceId] <Guid[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Filter] <Hashtable>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Job
[-Command <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
A Remove-Job
parancsmag törli a parancsmag vagy az Start-Job
AsJob paramétert támogató parancsmagok által elindított PowerShell-háttérfeladatokatInvoke-Command
.
Az összes feladat törlésére vagy a kijelölt feladatok törlésére használható Remove-Job
. A feladatokat a név, az azonosító, a példányazonosító, a parancs vagy az állam azonosítja. Vagy egy feladatobjektum elküldhető a folyamatról a következőre Remove-Job
: . Paraméterek és paraméterértékek Remove-Job
nélkül nincs hatása.
A PowerShell 3.0 Remove-Job
óta törölheti az egyéni feladattípusokat, például az ütemezett feladatokat és a munkafolyamat-feladatokat. Törli például Remove-Job
az ütemezett feladatot, a lemezen lévő ütemezett feladat összes példányát és az összes aktivált feladatpéldány eredményét.
Ha egy futó feladatot próbál törölni, Remove-Job
sikertelen lesz. Stop-Job
A parancsmag használatával állítsa le a futó feladatokat. Vagy használja Remove-Job
a Force paramétert egy futó feladat törléséhez.
A feladatok a globális feladat gyorsítótárában maradnak, amíg el nem törli a háttérfeladatot, vagy be nem zárja a PowerShell-munkamenetet.
Példák
1. példa: Feladat törlése a nevével
Ez a példa egy változót és egy folyamatot használ egy feladat név szerinti törléséhez.
$batch = Get-Job -Name BatchJob
$batch | Remove-Job
Get-Job
A Név paraméter használatával adja meg a BatchJob feladatot. A feladatobjektum a $batch
változóban van tárolva. A rendszer elküldi a beküldött $batch
objektumot a folyamatnak Remove-Job
.
Másik lehetőségként használja a Feladat paramétert, például Remove-Job -Job $batch
.
2. példa: Munkamenet összes feladatának törlése
Ebben a példában az aktuális PowerShell-munkamenet összes feladatát törli a rendszer.
Get-job | Remove-Job
Get-Job
az aktuális PowerShell-munkamenet összes feladatát lekéri. A feladatobjektumokat a rendszer elküldi a folyamatnak Remove-Job
.
3. példa: NotStarted feladatok törlése
Ez a példa törli az összes olyan feladatot az aktuális PowerShell-munkamenetből, amely még nem indult el.
Remove-Job -State NotStarted
Remove-Job
Az Állapot paraméter használatával adja meg a feladat állapotát.
4. példa: Feladatok törlése rövid névvel
Ez a példa törli az összes feladatot az aktuális munkamenetből a köteggel végződő rövid névvel* együtt, beleértve a futó feladatokat is.
Remove-Job -Name *batch -Force
Remove-Job
A Név paraméterrel adja meg a feladatnévmintát. A minta tartalmazza a csillag (*
) helyettesítő karaktert, hogy megtalálja a köteggel végződő összes feladatnevet. A Force paraméter törli a futó feladatokat.
5. példa: Az Invoke-Command által létrehozott feladat törlése
Ez a példa eltávolít egy távoli számítógépen az AsJob paraméterrel Invoke-Command
elindított feladatot.
Mivel a példa az AsJob paramétert használja, a feladatobjektum a helyi számítógépen jön létre. A feladat azonban távoli számítógépen fut. Ennek eredményeképpen helyi parancsokkal kezelheti a feladatot.
$job = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
$job | Remove-Job
Invoke-Command
Futtat egy feladatot a Server01 számítógépen. Az AsJob paraméter háttérfeladatként futtatja a ScriptBlockot . A feladatobjektum a $job
változóban van tárolva. A $job
változóobjektumot a rendszer elküldi a folyamatnak Remove-Job
.
6. példa: Az Invoke-Command és a Start-Job által létrehozott feladat törlése
Ez a példa bemutatja, hogyan távolíthat el egy feladatot egy távoli számítógépen, amelyet a futtatáskor Start-Job
indítottak elInvoke-Command
. A feladatobjektum a távoli számítógépen jön létre, a távoli parancsok pedig a feladat kezelésére szolgálnak. Távoli Start-Job
parancsok futtatásakor állandó kapcsolatra van szükség.
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S -ScriptBlock {Start-Job -ScriptBlock {Get-Process} -Name MyJob}
Invoke-Command -Session $S -ScriptBlock {Remove-Job -Name MyJob}
New-PSSession
PSSessiont hoz létre, egy állandó kapcsolatot a Server01 számítógéphez. A rendszer menti a kapcsolatot a $S
változóba.
Invoke-Command
a következőben $S
mentett munkamenethez csatlakozik: . A ScriptBlock egy távoli feladat indítására szolgál Start-Job
. A feladat futtat egy Get-Process
parancsot, és a Név paraméterrel egy rövid feladatnevet( MyJob) ad meg.
Invoke-Command
a munkamenetet $S
használja, és fut.Remove-Job
A Név paraméter azt adja meg, hogy a MyJob nevű feladat törölve legyen.
7. példa: Feladat törlése az InstanceId használatával
Ez a példa eltávolít egy feladatot az InstanceId alapján.
$job = Start-Job -ScriptBlock {Get-Process PowerShell}
$job | Format-List -Property *
Remove-Job -InstanceId ad02b942-8007-4407-87f3-d23e71955872
State : Completed
HasMoreData : True
StatusMessage :
Location : localhost
Command : Get-Process PowerShell
JobStateInfo : Completed
Finished : System.Threading.ManualResetEvent
InstanceId : ad02b942-8007-4407-87f3-d23e71955872
Id : 3
Name : Job3
ChildJobs : {Job4}
PSBeginTime : 7/26/2019 11:36:56
PSEndTime : 7/26/2019 11:36:57
PSJobTypeName : BackgroundJob
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
Information : {}
Start-Job
elindít egy háttérfeladatot, és a feladatobjektum a változóba $job
lesz mentve.
A rendszer elküldi a beküldött $job
objektumot a folyamatnak Format-List
. A Tulajdonság paraméter csillag (*
) használatával adja meg, hogy az objektum összes tulajdonsága megjelenjen egy listában.
Remove-Job
Az InstanceId paraméter használatával adja meg a törölni kívánt feladatot.
Paraméterek
-Command
Törli a parancsban megadott szavakat tartalmazó feladatokat. Vesszővel tagolt tömböt is megadhat.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
A futtatás előtt Remove-Job
megerősítést kér.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Filter
Törli a társított kivonattáblában megállapított ö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
.
Ezt a paramétert a PowerShell 3.0-ban vezettük be.
Type: | Hashtable |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Akkor is töröl egy feladatot, ha a feladat állapota fut. Ha a Force paraméter nincs megadva, Remove-Job
nem törli a futó feladatokat.
Type: | SwitchParameter |
Aliases: | F |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Törli a megadott azonosítóval rendelkező háttérfeladatokat. Vesszővel tagolt tömböt is megadhat. A feladat azonosítója egy egyedi egész szám, amely azonosít egy feladatot az aktuális munkameneten belül.
Egy feladat azonosítójának megkereséséhez használja Get-Job
paraméterek nélkül.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Törli a megadott InstanceId azonosítójú feladatokat. Vesszővel tagolt tömböt is megadhat. Az InstanceId egy egyedi GUID, amely azonosít egy feladatot.
Egy feladat InstanceId azonosítójának megkereséséhez használja a következőtGet-Job
: .
Type: | Guid[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Job
Megadja a törölni kívánt feladatokat. Adjon meg egy változót, amely tartalmazza a feladatokat vagy a feladatokat lekérő parancsot. Vesszővel tagolt tömböt is megadhat.
Feladatobjektumokat küldhet le a folyamatról a következőre Remove-Job
: .
Type: | Job[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Csak a megadott rövid névvel rendelkező feladatokat törli. Helyettesítő karakterek használata engedélyezett. Vesszővel tagolt tömböt is megadhat.
A feladatok rövid nevei nem garantáltan egyediek, még a PowerShell-munkamenetben sem. A Fájlok név szerinti törlésekor használja a WhatIf és a Confirm paramétereket.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-State
Csak a megadott állapotú feladatokat törli. A Futtatás állapotú feladatok törléséhez használja a Force paramétert.
Elfogadott értékek:
- AtBreakpoint
- Blokkolva
- Befejeződött
- Leválasztva
- Sikertelen
- NotStarted
- Futó
- Leállítva
- Leállás
- Felfüggesztve
- Felfüggesztés
Type: | JobState |
Accepted values: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Megjeleníti, mi történne, ha Remove-Job
futna. A parancsmag nem fut.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Bevitelek
A feladatobjektumot a parancsmagra csövezheti.
Kimenetek
None
Ez a parancsmag nem ad vissza kimenetet.
Jegyzetek
A Windows PowerShell a következő aliasokat Remove-Job
tartalmazza:
rjb
Egy PowerShell-feladat új folyamatot hoz létre. Amikor a feladat befejeződik, a folyamat befejeződik. Futtatáskor Remove-Job
a feladat állapota el lesz távolítva.
Ha egy feladat a befejezés előtt leáll, és a folyamat nem szűnik meg, a folyamat kényszerítetten leáll.