Remove-Job

Töröl egy PowerShell-háttérfeladatot.

Syntax

Remove-Job
      [-Force]
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Job
      [-Job] <Job[]>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Job
      [-Force]
      [-Name] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Job
      [-Force]
      [-InstanceId] <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Job
      [-Force]
      [-Filter] <Hashtable>
      [-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-JobA 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-JobAz Á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-JobA 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-Commandelindí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-Jobindí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-PSSessionPSSessiont 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 $Smentett 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-Commanda 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-JobAz 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

Job

A feladatobjektumot a parancsmagra csövezheti.

Kimenetek

None

Ez a parancsmag nem ad vissza kimenetet.

Jegyzetek

A PowerShell a következő aliasokat Remove-Jobtartalmazza:

  • Minden platform:
    • 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.