Beendet einen Windows PowerShell-Hintergrundauftrag. (Stop-Job)
NAMEStop-JobÜBERSICHTBeendet einen Windows PowerShell-Hintergrundauftrag.SYNTAXStop-Job [[-InstanceId] <Guid[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [-Job] <Job[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [[-Name] <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [-Id] <Int32[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [-State {NotStarted | Running | Completed | Failed | Stopped | Blocked}] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]BESCHREIBUNGMit dem Cmdlet "Stop-Job" werden Windows PowerShell-Hintergrundaufträge beendet, die gerade ausgeführt werden. 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 Stop-Job zu beenden. Mit Stop-Job können Sie Aufträge beenden, die mit Start-Job oder mit dem AsJob-Parameter von Invoke-Command gestartet wurden. Wenn Sie einen Hintergrundauftrag beenden, werden alle ausstehenden Aufgaben in der Aufgabenwarteschlange von Windows PowerShell abgeschlossen, und anschließend wird der Auftrag beendet. Nach Senden dieses Befehls werden der Warteschlange keine neuen Aufgaben mehr hinzugefügt. Mit diesem Cmdlet werden keine Hintergrundaufträge gelöscht. Aufträge können mit Remove-Job gelöscht werden.PARAMETER-Id <Int32[]> Beendet Aufträge mit den angegebenen IDs. Standardmäßig sind dies alle Aufträge in der aktuellen Sitzung. 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 InstanceId, 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[]> Beendet nur Aufträge mit den angegebenen Instanz-IDs. Standardmäßig sind dies alle Aufträge. Eine Instanz-ID ist ein GUID, der den Auftrag auf dem Computer eindeutig identifiziert. Um die Instanz-ID eines Auftrags zu suchen, verwenden Sie Get-Job. Erforderlich? false Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -Job <Job[]> Gibt die zu beendenden 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 "Stop-Job" senden. Standardmäßig werden mit Stop-Job alle Aufträge gelöscht, die in der aktuellen Sitzung gestartet wurden. Erforderlich? true Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByValue, ByPropertyName) Platzhalterzeichen akzeptieren?false -Name <string[]> Beendet nur die Aufträge mit den angegebenen Anzeigenamen. Geben Sie die Auftragsnamen in einer durch Trennzeichen getrennten Liste ein, oder geben Sie mit Platzhalterzeichen (*) ein Muster für den Auftragsnamen ein. Standardmäßig werden mit Stop-Job alle Aufträge beendet, die in der aktuellen Sitzung erstellt wurden. Verwenden Sie den WhatIf-Parameter und den Confirm-Parameter, wenn Sie Aufträge anhand des Namens beenden, da nicht garantiert ist, dass der Anzeigename eindeutig ist. Erforderlich? false Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?true -PassThru [<SwitchParameter>] Gibt ein Objekt zurück, das den neuen Hintergrundauftrag darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -State <JobState> Beendet nur Aufträge mit dem angegebenen Status. Gültige Werte sind "NotStarted", "Running", "Completed", "Stopped", "Failed" und "Blocked". 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".EINGABENSystem.Management.Automation.RemotingJob Sie können ein Auftragsobjekt über die Pipeline an Stop-Job übergeben.AUSGABENKeiner oder System.Management.Automation.RemotingJob Wenn Sie den PassThru-Parameter verwenden, wird von Stop-Job ein Auftragsobjekt zurückgegeben. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.HINWEISEBeispiele
BEISPIEL 1C:\PS>$s = new-pssession -computername Server01 -credential domain01\admin02 C:\PS> $j = invoke-command -session $s -scriptblock {start-job -scriptblock {get-eventlog system}} C:\PS> invoke-command -session $s -scriptblock {param($j) stop-job -job $j} -ArgumentList $j Beschreibung ----------- In diesem Beispiel wird gezeigt, wie mit dem Cmdlet "Stop-Job" ein Auftrag beendet wird, der auf einem Remotecomputer ausgeführt wird. Da der Auftrag mit Invoke-Command gestartet wurde, um einen Start-Job-Befehl remote auszuführen, wird das Auftragsobjekt auf dem Remotecomputer gespeichert, und der Befehl "Stop-Job" muss remote mit einem anderen Invoke-Command-Befehl ausgeführt werden. Weitere Informationen über Remotehintergrundaufträge finden Sie unter "about_Remote_Jobs". Mit dem ersten Befehl wird eine Windows PowerShell-Sitzung (PSSession) auf dem Computer "Server01" erstellt, und das Sitzungsobjekt wird in der Variablen "$s" gespeichert. Im Befehl werden die Anmeldeinformationen eines Domänenadministrators verwendet. Im zweiten Befehl wird ein Start-Job-Befehl in der Sitzung mit dem Cmdlet "Invoke-Command" ausgeführt. Mit dem Befehl im Auftrag werden alle Ereignisse im Systemereignisprotokoll abgerufen. Das resultierende Auftragsobjekt wird in der Variablen "$j" gespeichert. Mit dem dritten Befehl wird der Auftrag beendet. Dabei wird mit dem Cmdlet "Invoke-Command" ein Stop-Job-Befehl in der PSSession auf "Server01" ausgeführt. Da die Auftragsobjekte in $j, einer Variablen auf dem lokalen Computer, gespeichert werden, werden im Befehl die lokalen Variablen mit dem param-Schlüsselwort deklariert, und mit dem ArgumentList-Parameter werden Werte für die Variablen angegeben. Wenn die Ausführung des Befehls abgeschlossen wird, wird der Auftrag beendet, und die PSSession steht in $s zur Verfügung.BEISPIEL 2C:\PS>stop-job -state failed Beschreibung ----------- Mit diesem Befehl werden alle Aufträge mit dem Statuswert "Failed" beendet.BEISPIEL 3C:\PS>stop-job -name job1 Beschreibung ----------- Mit diesem Befehl wird der Hintergrundauftrag "Job1" beendet.BEISPIEL 4C:\PS>stop-job -id 1, 3, 4 Beschreibung ----------- Mit diesem Befehl werden drei Aufträge beendet. Die Aufträge werden anhand der IDs identifiziert.BEISPIEL 5C:\PS>get-job | stop-job Beschreibung ----------- Mit diesem Befehl werden alle Hintergrundaufträge in der aktuellen Sitzung beendet.BEISPIEL 6C:\PS>stop-job -state blocked Beschreibung ----------- Mit diesem Befehl werden alle Aufträge mit dem Auftragsstatus "Blocked" beendet.BEISPIEL 7C:\PS>get-job | format-table ID, Name, Command, @{Label="State";Expression={$_.jobstateinfo.state}}, I nstanceID -auto Id Name Command State InstanceId -- ---- ------- ----- ---------- 1 Job1 start-service schedule Running 05abb67a-2932-4bd5-b331-c0254b8d9146 3 Job3 start-service schedule Running c03cbd45-19f3-4558-ba94-ebe41b68ad03 5 Job5 get-service s* Blocked e3bbfed1-9c53-401a-a2c3-a8db34336adf C:\PS> stop-job -instanceid e3bbfed1-9c53-401a-a2c3-a8db34336adf Beschreibung ----------- Mit diesen Befehlen wird gezeigt, wie ein Auftrag anhand der Instanz-ID beendet wird. Im ersten Befehl werden die Aufträge in der aktuellen Sitzung mit einem Get-Job-Befehl abgerufen. Im Befehl werden die Aufträge mit einem Pipelineoperator (|) an einen Format-Table-Befehl gesendet, mit dem eine Tabelle der angegebenen Eigenschaften jedes Auftrags angezeigt wird. Die Tabelle enthält die Instanz-ID aller Aufträge. Der Auftragsstatus wird mithilfe einer berechneten Eigenschaft angezeigt. Im zweiten Befehl wird ein ausgewählter Auftrag mit einem Stop-Job-Befehl und dem InstanceID-Parameter beendet.BEISPIEL 8C:\PS>$j = invoke-command -computername Server01 -scriptblock {get-eventlog system} -asjob C:\PS> $j | stop-job -passthru Id Name State HasMoreData Location Command -- ---- ---- ----------- -------- ------- 5 Job5 Stopped True judithh-tablet get-eventlog system Beschreibung ----------- In diesem Beispiel wird gezeigt, wie mit dem Cmdlet "Stop-Job" ein Auftrag beendet wird, der auf einem Remotecomputer ausgeführt wird. Da der Auftrag mit dem AsJob-Parameter von Invoke-Command gestartet wurde, befindet sich das Auftragsobjekt auf dem lokalen Computer, obwohl der Auftrag auf dem Remotecomputer ausgeführt wird. Sie können den Auftrag daher mit einem lokalen Stop-Job-Befehl beenden. Im ersten Befehl wird mit dem Cmdlet "Invoke-Command" ein Hintergrundauftrag auf dem Computer "Server01" gestartet. Bei dem Befehl wird der Remotebefehl mithilfe des AsJob-Parameters als Hintergrundauftrag ausgeführt. Mit diesem Befehl wird das gleiche Auftragsobjekt wie von Start-Job zurückgegeben. Mit dem Befehl wird das Auftragsobjekt in der Variablen "$j" gespeichert. Im zweiten Befehl wird der Auftrag in der Variablen "$j" mit einem Pipelineoperator an Stop-Job gesendet. Im Befehl wird Stop-Job mit dem PassThru-Parameter angewiesen, ein Auftragsobjekt zurückzugeben. Die Anzeige des Auftragsobjekts bestätigt, dass der Status des Auftrags nun "Stopped" lautet. Weitere Informationen über Remotehintergrundaufträge finden Sie unter "about_Remote_Jobs". VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113413 (möglicherweise auf Englisch) about_Jobs about_Job_Details about_Remote_Jobs Start-Job Get-Job Receive-Job Wait-Job Remove-Job Invoke-Command C:\Windows>powershell get-help Wait-Job -full
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export