Remove-Job
Hiermee verwijdert u een PowerShell-achtergrondtaak.
Syntaxis
SessionIdParameterSet (Standaard)
Remove-Job
[-Id] <Int32[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobParameterSet
Remove-Job
[-Job] <Job[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Remove-Job
[-Name] <String[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Remove-Job
[-InstanceId] <Guid[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
FilterParameterSet
Remove-Job
[-Filter] <Hashtable>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Remove-Job
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CommandParameterSet
Remove-Job
[-Command <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Met de Remove-Job-cmdlet worden PowerShell-achtergrondtaken verwijderd die zijn gestart door de Start-Job-cmdlet of door cmdlets, zoals Invoke-Command die ondersteuning bieden voor de parameter AsJob.
U kunt Remove-Job gebruiken om alle taken te verwijderen of geselecteerde taken te verwijderen. De taken worden geïdentificeerd door de Name, Id, InstanceId, Commandof State. Een taakobject kan ook naar Remove-Jobworden verzonden. Zonder parameters of parameterwaarden heeft Remove-Job geen effect.
Sinds PowerShell 3.0 kunnen Remove-Job aangepaste taaktypen verwijderen, zoals geplande taken en werkstroomtaken.
Remove-Job bijvoorbeeld de geplande taak, alle exemplaren van de geplande taak op schijf en de resultaten van alle geactiveerde taakexemplaren verwijdert.
Als u een actieve taak probeert te verwijderen, mislukt Remove-Job. Gebruik de cmdlet Stop-Job om een actieve taak te stoppen. Of gebruik Remove-Job met de parameter Forceer om een actieve taak te verwijderen.
Taken blijven in de globale taakcache staan totdat u de achtergrondtaak verwijdert of de PowerShell-sessie sluit.
Voorbeelden
Voorbeeld 1: Een taak verwijderen met behulp van de naam
In dit voorbeeld wordt een variabele en de pijplijn gebruikt om een taak op naam te verwijderen.
$batch = Get-Job -Name BatchJob
$batch | Remove-Job
Get-Job gebruikt de parameter Name om de taak op te geven, BatchJob. Het taakobject wordt opgeslagen in de $batch variabele. Het object in $batch wordt door de pijplijn naar Remove-Jobverzonden.
Een alternatief is het gebruik van de parameter Job, zoals Remove-Job -Job $batch.
Voorbeeld 2: Alle taken in een sessie verwijderen
In dit voorbeeld worden alle taken in de huidige PowerShell-sessie verwijderd.
Get-Job | Remove-Job
Get-Job krijgt alle taken in de huidige PowerShell-sessie. De taakobjecten worden naar Remove-Jobverzonden.
Voorbeeld 3: Niet-gestarte taken verwijderen
In dit voorbeeld worden alle taken verwijderd uit de huidige PowerShell-sessie die nog niet zijn gestart.
Remove-Job -State NotStarted
Remove-Job gebruikt de parameter State om de taakstatus op te geven.
Voorbeeld 4: Taken verwijderen met behulp van een vriendelijke naam
In dit voorbeeld worden alle taken uit de huidige sessie verwijderd met vriendelijke namen die eindigen op batch-, inclusief taken die op dat moment worden uitgevoerd.
Remove-Job -Name *batch -Force
Remove-Job gebruikt de parameter Name om een taaknaampatroon op te geven. Het patroon bevat het jokerteken (*) om alle taaknamen te vinden die eindigen op batch-. De parameter Force verwijdert taken die aan het draaien zijn.
Voorbeeld 5: Een taak verwijderen die is gemaakt door Invoke-Command
In dit voorbeeld wordt een taak verwijderd die is gestart op een externe computer met behulp van Invoke-Command met de parameter AsJob.
Omdat in het voorbeeld de parameter AsJob wordt gebruikt, wordt het taakobject gemaakt op de lokale computer. Maar de taak wordt uitgevoerd op een externe computer. Als gevolg hiervan gebruikt u lokale opdrachten om de taak te beheren.
$job = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
$job | Remove-Job
Invoke-Command voert een taak uit op de Server01-computer. De parameter AsJob voert de ScriptBlock- uit als achtergrondtaak. Het taakobject wordt opgeslagen in de $job variabele. Het $job variabele object wordt door de pijplijn naar Remove-Jobverzonden.
Voorbeeld 6: Een taak verwijderen die is gemaakt door Invoke-Command en Start-Job
In dit voorbeeld ziet u hoe u een taak verwijdert op een externe computer die is gestart met behulp van Invoke-Command om Start-Jobuit te voeren. Het taakobject wordt gemaakt op de externe computer en externe opdrachten worden gebruikt om de taak te beheren. Een permanente verbinding is vereist bij het uitvoeren van een externe Start-Job-opdracht.
$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 maakt een PSSession-, een permanente verbinding, met de Server01-computer. De verbinding wordt opgeslagen in de variabele $S.
Invoke-Command maakt verbinding met de sessie die is opgeslagen in $S. De ScriptBlock- gebruikt Start-Job om een externe taak te starten. De taak voert een Get-Process opdracht uit en gebruikt de parameter Name om een beschrijvende taaknaam op te geven, MyJob.
Invoke-Command gebruikt de $S sessie en voert Remove-Jobuit. De parameter Name geeft aan dat de taak met de naam MyJob wordt verwijderd.
Voorbeeld 7: Een taak verwijderen met behulp van de bijbehorende InstanceId
In dit voorbeeld wordt een taak verwijderd op basis van de InstanceId-.
$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 een achtergrondtaak start en het taakobject wordt opgeslagen in de variabele $job.
Het object in $job wordt door de pijplijn naar Format-Listverzonden. De parameter eigenschap gebruikt een sterretje (*) om op te geven dat alle eigenschappen van het object worden weergegeven in een lijst.
Remove-Job gebruikt de parameter InstanceId om de taak op te geven die moet worden verwijderd.
Parameters
-Command
Hiermee verwijdert u taken die de opgegeven woorden in de opdracht bevatten. U kunt een door komma's gescheiden matrix invoeren.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
CommandParameterSet
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-Confirm
Vraagt u om bevestiging voordat Remove-Job wordt uitgevoerd.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Cf |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Filter
Hiermee verwijdert u taken die voldoen aan alle voorwaarden die zijn vastgelegd in de gekoppelde hash-tabel. Voer een hashtabel in waarin de sleutels taakeigenschappen zijn en de waarden taakeigenschapswaarden zijn.
Deze parameter werkt alleen voor aangepaste taaktypen, zoals werkstroomtaken en geplande taken. Het werkt niet op standaard-achtergrondtaken, zoals taken die zijn gemaakt met behulp van de Start-Job.
Deze parameter wordt geïntroduceerd in PowerShell 3.0.
Parametereigenschappen
| Type: | Hashtable |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
FilterParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-Force
Hiermee verwijdert u een taak, zelfs als de taak in de status Wordt uitgevoerdverkeert. Als de parameter Force niet is opgegeven, verwijdert Remove-Job actieve taken niet.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | F |
Parametersets
SessionIdParameterSet
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
JobParameterSet
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
InstanceIdParameterSet
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
NameParameterSet
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
FilterParameterSet
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Id
Hiermee verwijdert u achtergrondtaken met de opgegeven -id. U kunt een door komma's gescheiden matrix invoeren. De -id van de taak is een uniek geheel getal dat een taak binnen de huidige sessie identificeert.
Gebruik zonder parameters om de Get-Job.
Parametereigenschappen
| Type: | Int32[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
SessionIdParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-InstanceId
Hiermee verwijdert u taken met de opgegeven InstanceId. U kunt een door komma's gescheiden matrix invoeren. Een InstanceId- is een unieke GUID waarmee een taak wordt geïdentificeerd.
Gebruik om de Get-Jobvan een taak te vinden.
Parametereigenschappen
| Type: | Guid[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
InstanceIdParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-Job
Hiermee specificeert u de taken die moeten worden verwijderd. Voer een variabele in die de taken bevat of een opdracht opgeeft waarmee de taken worden opgehaald. U kunt een door komma's gescheiden matrix invoeren.
U kunt taakobjecten door de pijplijn naar Remove-Jobverzenden.
Parametereigenschappen
| Type: | Job[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
JobParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-Name
Verwijdert alleen taken met de opgegeven vriendelijke naam. Wildcards zijn toegestaan. U kunt een door komma's gescheiden matrix invoeren.
Vriendelijke namen voor taken zijn niet gegarandeerd uniek, zelfs niet binnen een PowerShell-sessie. Gebruik de parameters WhatIf en Confirm wanneer u bestanden op naam verwijdert.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
NameParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-State
Verwijdert alleen taken met de opgegeven status. Gebruik de parameter Force om taken te verwijderen met de status Actief.
Geaccepteerde waarden:
- AtBreakpoint
- Geblokkeerd
- Volbracht
- Niet verbonden
- Mislukt
- Niet gestart
- Hardlopen
- Gestopt
- Het stoppen
- Opgeschort
- Onderbreken
Parametereigenschappen
| Type: | JobState |
| Default value: | None |
| Geaccepteerde waarden: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
StateParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-WhatIf
Laat zien wat er zou gebeuren als Remove-Job wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Wi |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
Job
U kunt een Job-object doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer.
Notities
PowerShell bevat de volgende aliassen voor Remove-Job:
- Alle platforms:
rjb
Een PowerShell-taak maakt een nieuw proces. Wanneer de taak is voltooid, wordt het proces afgesloten. Wanneer Remove-Job wordt uitgevoerd, wordt de status van de taak verwijderd.
Als een taak stopt voordat de voltooiing is voltooid en het proces niet is afgesloten, wordt het proces geforceerd beëindigd.