Remove-Job - PowerShell Befehl Hilfe und Beispiele

Löscht einen Windows PowerShell-Hintergrundauftrag. (Remove-Job)


NAME
Remove-Job
ÜBERSICHT
Löscht einen Windows PowerShell-Hintergrundauftrag.
SYNTAX
Remove-Job [-Id] <Int32[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-Command <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [[-InstanceId] <Guid[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-Job] <Job[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [[-Name] <string[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-State {NotStarted | Running | Completed | Failed | Stopped | Blocked}] [-Confirm] [-WhatIf] [<CommonParameters>]
BESCHREIBUNG
Mit dem Cmdlet "Remove-Job" werden Windows PowerShell-Hintergrundaufträge gelöscht, die mit Start-Job oder mit dem AsJob-Parameter eines Cmdlets gestartet wurden. Sie können dieses Cmdlet verwenden, um alle Aufträge oder ausgewählte Aufträge anhand von Name, ID, Instanz-ID, Befehl oder Status oder durch das Übergeben eines Auftragsobjekts an Remove-Job zu löschen. Wenn kein Parameter oder keine Parameterwerte angegeben werden, hat "Remove-Job" keine Auswirkungen. Beenden Sie Aufträge, die gerade ausgeführt werden, vor dem Löschen mit dem Cmdlet "Stop-Job". Wenn Sie versuchen, einen Auftrag zu löschen, der gerade ausgeführt wird, schlägt der Befehl fehl. Aufträge, die gerade ausgeführt werden, können mit dem Force-Parameter von Remove-Job gelöscht werden. Hintergrundaufträge, die nicht gelöscht werden, verbleiben im globalen Auftragscache, bis Sie die Sitzung schließen, in der der Auftrag erstellt wurde.
PARAMETER
-Command <string[]> Entfernt Aufträge, die die angegebenen Wörter im Befehl enthalten. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -Force [<SwitchParameter>] Löscht den Auftrag, auch wenn der Status "Running" lautet. Ohne den Force-Parameter löscht Remove-Job keinen Auftrag, der gerade ausgeführt wird. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Id <Int32[]> Löscht Hintergrundaufträge mit den angegebenen IDs. Die ID ist eine ganze Zahl, die den Auftrag in der aktuellen Sitzung eindeutig identifiziert. Sie lässt sich leichter merken und eingeben als die Instanz-ID, ist jedoch nur in der aktuellen Sitzung eindeutig. Sie können eine oder mehrere IDs eingeben (durch Trennzeichen getrennt). Um die ID eines Auftrags zu suchen, geben Sie "Get-Job" ohne Parameter ein. Erforderlich? true Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -InstanceId <Guid[]> Löscht Aufträge mit den angegebenen Instanz-IDs. Eine Instanz-ID ist ein GUID, der den Auftrag auf dem Computer eindeutig identifiziert. Sie können die Instanz-ID eines Auftrags suchen, indem Sie Get-Job verwenden oder das Auftragsobjekt anzeigen. Erforderlich? false Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -Job <Job[]> Gibt die zu löschenden Aufträge an. Geben Sie eine Variable mit den Aufträgen oder einen Befehl zum Abrufen der Aufträge ein. Sie können Aufträge auch mit einem Pipelineoperator an das Cmdlet "Remove-Job" senden. Erforderlich? true Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByValue, ByPropertyName) Platzhalterzeichen akzeptieren?false -Name <string[]> Löscht nur die Aufträge mit den angegebenen Anzeigenamen. Platzhalter sind zulässig. Verwenden Sie den WhatIf-Parameter und den Confirm-Parameter, wenn Sie Aufträge anhand des Namens löschen, da die Eindeutigkeit des Anzeigenamens auch in der Sitzung nicht garantiert ist. Erforderlich? false Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?true -State <JobState> Löscht nur Aufträge mit dem angegebenen Status. Gültige Werte sind "NotStarted", "Running", "Completed", "Stopped", "Failed" und "Blocked". Verwenden Sie den Force-Parameter, um Aufträge mit dem Status "Running" zu löschen. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -Confirm [<SwitchParameter>] Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -WhatIf [<SwitchParameter>] Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false <CommonParameters> Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug", "ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable", "OutBuffer" und "OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "get-help about_commonparameters".
EINGABEN
System.Management.Automation.Job Sie können ein Auftragsobjekt über die Pipeline an Remove-Job übergeben.
AUSGABEN
Keiner Dieses Cmdlet generiert keine Ausgabe.
HINWEISE

Beispiele

BEISPIEL 1
C:\PS>$batch = get-job -name BatchJob C:\PS> $batch | remove-job Beschreibung ----------- Mit diesen Befehlen wird der Hintergrundauftrag BatchJob aus der aktuellen Sitzung entfernt. Im ersten Befehl wird mit dem Cmdlet "Get-Job" ein Objekt abgerufen, das den Auftrag darstellt, und anschließend in der Variablen "$batch" gespeichert. Im zweiten Befehl wird der Auftrag mit dem Pipelineoperator (|) an das Cmdlet "Remove-Job" gesendet. Dieser Befehl entspricht der Verwendung des Job-Parameters von Remove-Job, beispielsweise "remove-job -job $batch".
BEISPIEL 2
C:\PS>get-job | remove-job Beschreibung ----------- Mit diesem Befehl werden alle Aufträge aus der aktuellen Sitzung entfernt.
BEISPIEL 3
C:\PS>remove-job -state NotStarted Beschreibung ----------- Mit diesem Befehl werden alle Aufträge aus der aktuellen Sitzung entfernt, die noch nicht gestartet wurden.
BEISPIEL 4
C:\PS>remove-job -name *batch -force Beschreibung ----------- Mit diesem Befehl werden alle Aufträge einschließlich Aufträgen, die gerade ausgeführt werden, aus der aktuellen Sitzung entfernt, deren Anzeigename mit "batch" endet. Dabei wird mit dem Name-Parameter von Remove-Job ein Muster für den Auftragsnamen angegeben, und mit dem Force-Parameter wird sichergestellt, dass alle Aufträge entfernt werden, auch wenn diese gerade ausgeführt werden.
BEISPIEL 5
C:\PS>$j = invoke-command -computername Server01 -scriptblock {get-process} -asJob C:\PS> $j | remove-job Beschreibung ----------- In diesem Beispiel wird gezeigt, wie mit dem Cmdlet "Remove-Job" ein Auftrag entfernt wird, der mit dem AsJob-Parameter des Cmdlet "Invoke-Command" auf einem Remotecomputer gestartet wurde. Im ersten Befehl wird mit dem Cmdlet "Invoke-Command" auf dem Computer "Server01" ein Auftrag ausgeführt. Der Befehl wird mit dem AsJob-Parameter als Hintergrundauftrag ausgeführt, und das resultierende Auftragsobjekt wird in der Variablen "$j" gespeichert. Da der AsJob-Parameter vom Befehl verwendet wurde, wird das Auftragsobjekt auf dem lokalen Computer erstellt, obwohl der Auftrag auf einem Remotecomputer ausgeführt wird. Der Auftrag wird daher mit lokalen Befehlen verwaltet. Im zweiten Befehl wird der Auftrag mit dem Cmdlet "Remove-Job" entfernt. Der Auftrag in $j wird mit einem Pipelineoperator (|) an Remove-Job gesendet. Beachten Sie, dass dies ein lokaler Befehl ist. Aufträge, die mit dem AsJob-Parameter gestartet wurden, können ohne Remotebefehl entfernt werden.
BEISPIEL 6
C:\PS>$s = new-pssession -computername Server01 C:\PS> invoke-command -session $s -scriptblock {start-job -scriptblock {get-process} -name MyJob} C:\PS> invoke-command -session $s -scriptblock {remove-job -name MyJob} Beschreibung ----------- In diesem Beispiel wird gezeigt, wie ein Auftrag entfernt wird, der mit Invoke-Command gestartet wurde, um einen Start-Job-Befehl auszuführen. In diesem Fall wird das Auftragsobjekt auf dem Remotecomputer erstellt, und der Auftrag wird daher mit Remotebefehlen verwaltet. Im ersten Befehl wird mit dem Cmdlet "New-PSSession" eine PSSession (eine dauerhafte Verbindung) mit dem Computer "Server01" erstellt. Eine dauerhafte Verbindung ist erforderlich, um den Befehl "Start-Job" remote auszuführen. Der Befehl speichert die PSSession in der Variablen "$s". Im zweiten Befehl wird der Befehl "Start-Job" in der PSSession in $s mit dem Cmdlet "Invoke-Command" ausgeführt. Der Auftrag führt einen Get-Process-Befehl aus. Ein Anzeigename für den Auftrag wird mit dem Name-Parameter von Start-Job angegeben. Im dritten Befehl wird der Befehl "Remove-Job" in der PSSession in $s mit dem Cmdlet "Invoke-Command" ausgeführt. Im Befehl wird der Auftrag, der gelöscht werden soll, mit dem Name-Parameter von Remove-Job identifiziert.
BEISPIEL 7
C:\PS>$j = start-job -script {get-process powershell} C:\PS> $j | format-list -property * C:\PS> remove-job -instanceID dce2ee73-f8c9-483e-bdd7-a549d8687eed C:\PS> $j = start-job -script {get-process powershell} C:\PS> $j | format-list -property * HasMoreData : False StatusMessage : Location : localhost Command : get-process powershell JobStateInfo : Failed Finished : System.Threading.ManualResetEvent InstanceId : dce2ee73-f8c9-483e-bdd7-a549d8687eed Id : 1 Name : Job1 ChildJobs : {Job2} Output : {} Error : {} Progress : {} Verbose : {} Debug : {} Warning : {} StateChanged : C:\PS> remove-job -instanceID dce2ee73-f8c9-483e-bdd7-a549d8687eed Beschreibung ----------- In diesem Beispiel wird gezeigt, wie ein Auftrag auf Grundlage der Instanz-ID entfernt wird. Im ersten Befehl wird mit dem Cmdlet "Start-Job" ein Hintergrundauftrag gestartet. Mit dem Befehl wird das resultierende Auftragsobjekt in der Variablen "$j" gespeichert. Mit dem zweiten Befehl wird das Auftragsobjekt in $j mit einem Pipelineoperator (|) an einen Format-List-Befehl gesendet. Im Befehl "Format-List" werden mit dem Property-Parameter mit dem Wert * (alle) alle Eigenschaften des Auftragsobjekts in einer Liste angezeigt. In der Anzeige des Auftragsobjekts werden die Werte der ID-Eigenschaft und der InstanceID-Eigenschaft zusammen mit den anderen Eigenschaften des Objekts angezeigt. Im dritten Befehl wird der Auftrag mit einem Remove-Job-Befehl aus der aktuellen Sitzung entfernt. Um den Befehl zu generieren, können Sie den InstanceID-Wert aus der Objektanzeige kopieren und einfügen. Um einen Wert in der Windows PowerShell-Konsole zu kopieren, wählen Sie den Wert mit der Maus aus, und drücken Sie die EINGABETASTE, um den Wert zu kopieren. Klicken Sie mit der rechten Maustaste, um den Wert einzufügen. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113377 (möglicherweise auf Englisch) about_Jobs about_Job_Details about_Remote_Jobs Start-Job Get-Job Receive-Job Wait-Job Stop-Job Invoke-Command C:\Windows>powershell get-help Enter-PSSession -full

Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.

ColorConsole [Version 3.7.1000] PowerShell 2.0-Export

Windows 11, 10, 8.1, 8, 7 / Server 2022, 2019, 2016











Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



PowerShell: Löscht einen Windows PowerShell-Hintergrundauftrag.

HTTP: ... PS_Windows/de/Remove-Job.htm
0.046
14125

Unterschied zwischen PowerShell und der Eingabeaufforderung?

Drucken Sie, was Sie in den Datei Explorer Ansichten sehen auf Windows!

Warum heißt der Windows-XP Dateimanager Explorer?

Kann ich auch gesperrte Verzeichnisse unter Windows 11, 10 und 8.1 hiermit löschen?

Erweiterte Soundeinstellungen auf Windows 11, 10, 8.1, ...!

Wie entferne ich das Öffnen, Schließen, Auswerfen Tool? (Portable, Installierte)



(0)