Remove-Job
Odstraní úlohu PowerShellu na pozadí.
Syntax
SessionIdParameterSet (Výchozí)
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>]
FilterParameterSet
Remove-Job
[-Filter] <Hashtable>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Remove-Job
[-InstanceId] <Guid[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Remove-Job
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CommandParameterSet
Remove-Job
[-Command <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Remove-Job odstraní úlohy na pozadí PowerShellu, které byly spuštěny rutinou Start-Job nebo rutinami, jako jsou Invoke-Command, které podporují parametr AsJob.
Pomocí Remove-Job můžete odstranit všechny úlohy nebo odstranit vybrané úlohy. Úlohy jsou identifikovány jejich Name, ID, Instance ID, Commandnebo State. Nebo může být objekt úlohy odeslán do kanálu Remove-Job. Bez parametrů nebo hodnot parametrů nemá Remove-Job žádný vliv.
Vzhledem k tomu, že PowerShell 3.0, Remove-Job může odstranit vlastní typy úloh, jako jsou naplánované úlohy a úlohy pracovního postupu. Například Remove-Job odstraní naplánovanou úlohu, všechny instance naplánované úlohy na disku a výsledky všech aktivovaných instancí úloh.
Pokud se pokusíte odstranit spuštěnou úlohu, Remove-Job selže. Pomocí rutiny Stop-Job zastavte spuštěnou úlohu. Nebo pomocí Remove-Job s parametrem Force odstraňte spuštěnou úlohu.
Úlohy zůstanou v globální mezipaměti úloh, dokud neodstraníte úlohu na pozadí nebo nezavřete relaci PowerShellu.
Příklady
Příklad 1: Odstranění úlohy pomocí jejího názvu
Tento příklad používá proměnnou a kanál k odstranění úlohy podle názvu.
$batch = Get-Job -Name BatchJob
$batch | Remove-Job
Get-Job pomocí parametru Name určí úlohu BatchJob. Objekt úlohy je uložen v proměnné $batch. Objekt v $batch se odešle do zpracovatelského řetězce Remove-Job.
Alternativou je použití parametru úlohy, například Remove-Job -Job $batch.
Příklad 2: Odstranění všech úloh v relaci
V tomto příkladu se odstraní všechny úlohy v aktuální relaci PowerShellu.
Get-job | Remove-Job
Get-Job získá všechny úlohy v aktuálním prostředí PowerShellu. Objekty úloh jsou odesílány do kanálu Remove-Job.
Příklad 3: Odstranění úloh NotStarted
Tento příklad odstraní všechny úlohy z aktuální relace PowerShellu, která nebyla spuštěna.
Remove-Job -State NotStarted
Remove-Job pomocí parametru State určuje stav úlohy.
Příklad 4: Odstranění úloh pomocí přátelského názvu
Tento příklad odstraní všechny úlohy z aktuální relace s popisnými názvy, které končí dávkové*, včetně spuštěných úloh.
Remove-Job -Name *batch -Force
Remove-Job používá parametr Name k určení vzoru názvu úlohy. Vzor obsahuje zástupný znak hvězdičky (*) a vyhledá všechny názvy úloh, které končí dávkové. Parametr Force odstraní spuštěné úlohy.
Příklad 5: Odstranění úlohy, kterou vytvořil Invoke-Command
Tento příklad odebere úlohu spuštěnou ve vzdáleném počítači pomocí Invoke-Command s parametrem AsJob.
Vzhledem k tomu, že příklad používá parametr AsJob, objekt úlohy se vytvoří v místním počítači. Úloha se ale spouští na vzdáleném počítači. Výsledkem je, že ke správě úlohy použijete místní příkazy.
$job = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
$job | Remove-Job
Invoke-Command spustí úlohu na počítači Server01. Parametr AsJob spustí ScriptBlock jako úlohu na pozadí. Objekt úlohy je uložen v proměnné $job. Objekt proměnné $job se odešle do kanálu do Remove-Job.
Příklad 6: Odstranění úlohy vytvořené Invoke-Command a Start-Job
Tento příklad ukazuje, jak odstranit úlohu na vzdáleném počítači, která byla spuštěna pomocí Invoke-Command pro spuštění Start-Job. Objekt úlohy se vytvoří ve vzdáleném počítači a ke správě úlohy se používají vzdálené příkazy. Při spuštění vzdáleného příkazu Start-Job se vyžaduje trvalé připojení.
$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 vytvoří PSSession, což je trvalé připojení, k počítači Server01. Připojení se uloží do proměnné $S.
Invoke-Command se připojí k relaci uložené v $S.
ScriptBlock ke spuštění vzdálené úlohy používá Start-Job. Úloha spustí příkaz Get-Process a určí přátelský název úlohy pomocí parametru Name, MyJob.
Invoke-Command používá relaci $S a spouští Remove-Job. Parametr Name určuje, že se odstraní úloha s názvem MyJob.
Příklad 7: Odstranění úlohy pomocí InstanceId
Tento příklad odebere úlohu na základě 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 spustí úlohu na pozadí a objekt úlohy se uloží do proměnné $job.
Objekt v $job se odešle do zpracovatelského řetězce Format-List. Parametr Vlastnost používá hvězdičku (*) k určení, že se v seznamu zobrazí všechny vlastnosti objektu.
Remove-Job pomocí parametru InstanceId určí úlohu, která se má odstranit.
Parametry
-Command
Odstraní úlohy, které obsahují zadaná slova v příkazu. Můžete zadat pole oddělené čárkami.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
CommandParameterSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Confirm
Před spuštěním Remove-Job vás vyzve k potvrzení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | viz |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Filter
Odstraní úlohy, které splňují všechny podmínky vytvořené v přidružené tabulce hash. Zadejte tabulku hash, kde klíče jsou vlastnosti úlohy a hodnoty jsou hodnoty vlastností úlohy.
Tento parametr funguje jenom u vlastních typů úloh, jako jsou úlohy pracovního postupu a naplánované úlohy. Nefunguje na standardních úlohách na pozadí, jako jsou úlohy vytvořené pomocí Start-Job.
Tento parametr je zavedený v PowerShellu 3.0.
Vlastnosti parametru
| Typ: | Hashtable |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
FilterParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Force
Odstraní úlohu, i když je stav úlohy Spuštěno. Pokud není zadaný parametr Force, Remove-Job neodstraní spuštěné úlohy.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | F |
Sady parametrů
SessionIdParameterSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
JobParameterSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
NameParameterSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
InstanceIdParameterSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
FilterParameterSet
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Id
Odstraní úlohy na pozadí se zadaným ID . Můžete zadat pole oddělené čárkami. ID úlohy je jedinečné celé číslo, které identifikuje úlohu v rámci aktuální relace.
Pokud chcete najít ID úlohy, použijte Get-Job bez parametrů.
Vlastnosti parametru
| Typ: | Int32[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
SessionIdParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-InstanceId
Odstraní úlohy se zadaným ID instance . Můžete zadat pole oddělené čárkami. InstanceId je jedinečný GUID, který identifikuje úlohu.
Pokud chcete najít ID instance úlohy, použijte Get-Job.
Vlastnosti parametru
| Typ: | Guid[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
InstanceIdParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Job
Určuje úlohy, které se mají odstranit. Zadejte proměnnou, která obsahuje úlohy, nebo příkaz, který vyhledá úlohy. Můžete zadat pole oddělené čárkami.
Objekty úloh můžete odesílat do potrubí Remove-Job.
Vlastnosti parametru
| Typ: | Job[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
JobParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Name
Odstraní pouze úlohy se zadaným přátelským názvem. Jsou povoleny zástupné symboly. Můžete zadat pole oddělené čárkami.
Přátelské názvy úloh nemusí být jedinečné ani v rámci relace PowerShellu. Při odstraňování souborů podle názvu použijte parametry WhatIf a Confirm.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
NameParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-State
Odstraní pouze úlohy se zadaným stavem. Pokud chcete odstranit úlohy se stavem Spuštěný, použijte parametr Force.
Přijaté hodnoty:
- AtBreakpoint
- Blokované
- Dokončeno
- Nesouvislý
- Neúspěšné
- Nezahájeno
- Běhání
- Zastavený
- Zastavování
- Pozastavený
- Pozastavení
Vlastnosti parametru
| Typ: | JobState |
| Default value: | None |
| Přípustné hodnoty: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
StateParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-WhatIf
Ukazuje, co by se stalo, když se Remove-Job spustí. Cmdlet se nespustil.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Wi |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
Job
Objekt úlohy můžete odeslat kanálem do Remove-Job.
Výstupy
None
Remove-Job nevygeneruje žádný výstup.
Poznámky
Úloha PowerShellu vytvoří nový proces. Po dokončení úlohy se proces ukončí. Po spuštění Remove-Job se stav úlohy okamžitě odebere.
Pokud se úloha zastaví před dokončením a její proces nebyl ukončen, proces je nuceně ukončen.