Beendet einen oder mehrere ausgeführte Prozesse. (Stop-Process)
NAMEStop-ProcessÜBERSICHTBeendet einen oder mehrere ausgeführte Prozesse.SYNTAXStop-Process [-Id] <Int32[]> [-Force] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Process -InputObject <Process[]> [-Force] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Process -Name <string[]> [-Force] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]BESCHREIBUNGMit dem Cmdlet "Stop-Process" werden ein oder mehrere ausgeführte Prozesse beendet. Sie können Prozesse mit ihrem Prozessnamen oder ihrer Prozess-ID (PID) angeben oder ein Prozessobjekt an Stop-Process übergeben. Stop-Process kann nur für Prozesse verwendet werden, die auf dem lokalen Computer ausgeführt werden. Unter Windows Vista und höheren Versionen von Windows müssen Sie Windows PowerShell mit der Option "Als Administrator ausführen" starten, um einen Prozess zu beenden, dessen Besitzer nicht der aktuelle Benutzer ist. Außerdem werden Sie zur Bestätigung aufgefordert, wenn Sie nicht den Force-Parameter verwenden.PARAMETER-Force [<SwitchParameter>] Beendet die angegebenen Prozesse, ohne zum Bestätigen aufzufordern. Standardmäßig fordert Stop-Process vor dem Beenden eines Prozesses, dessen Besitzer nicht der aktuelle Benutzer ist, eine Bestätigung an. Rufen Sie zum Ermitteln des Besitzers für einen Prozess mit dem Cmdlet "Get-WmiMethod" ein Win32_Process-Objekt ab, das den Prozess darstellt, und verwenden Sie dann die GetOwner-Methode des Objekts. Erforderlich? false Position? named Standardwert False Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Id <Int32[]> Gibt die Prozess-IDs der zu beendenden Prozesse an. Wenn Sie mehrere IDs angeben, trennen Sie diese durch Kommas. Um die PID eines Prozesses zu suchen, geben Sie "get-process" ein. Der Parametername ("Id") ist optional. Erforderlich? true Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -InputObject <Process[]> Beendet die Dienste, die durch die angegebenen Prozessobjekte dargestellt werden. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, mit dem die Objekte abgerufen werden. Erforderlich? true Position? named Standardwert Pipelineeingaben akzeptieren?true (ByValue) Platzhalterzeichen akzeptieren?false -Name <string[]> Gibt die Prozessnamen der zu beendenden Prozesse an. Sie können mehrere Prozessnamen eingeben (die durch Kommas voneinander getrennt sind) oder Platzhalterzeichen verwenden. Erforderlich? true Position? named Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -PassThru [<SwitchParameter>] Gibt ein Objekt zurück, das den Prozess darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false 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.Diagnostics.Process Sie können ein Prozessobjekt über die Pipeline an Stop-Process übergeben.AUSGABENKeiner oder System.Diagnostics.Process Wenn Sie den PassThru-Parameter verwenden, gibt Stop-Process ein System.Diagnostics.Process-Objekt zurück, das den beendeten Prozess darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.HINWEISESie können auch über die integrierten Aliase "kill" und "spps" auf Stop-Process verweisen. Weitere Informationen finden Sie unter "about_Aliases". Sie können auch die Eigenschaften und Methoden des WMI-Objekts (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) "Win32_Process" in Windows PowerShell verwenden. Weitere Informationen finden Sie unter Get-WmiObject und im WMI SDK. Wenn Sie Prozesse beenden, beachten Sie, dass das Beenden eines Prozesses dazu führen kann, dass von diesem Prozess abhängige Prozesse und Dienste beendet werden. Im Extremfall kann durch Beenden eines Prozesses sogar Windows beendet werden.Beispiele
BEISPIEL 1C:\PS>stop-process -name notepad Beschreibung ----------- Mit diesem Befehl werden alle Instanzen des Notepad-Prozesses (Editor) auf dem Computer beendet. (Jede Instanz von Editor wird in einem eigenen Prozess ausgeführt.) Mit dem Name-Parameter werden die Prozesse angegeben, bei denen der Name in allen Fällen gleich ist. Wenn Sie die gleichen Prozesse mit dem ID-Parameter beenden würden, müssten Sie die Prozess-IDs jeder Editor-Instanz auflisten.BEISPIEL 2C:\PS>stop-process -id 3952 -confirm -passthru Confirm Are you sure you want to perform this action? Performing operation "Stop-Process" on Target "notepad (3952)". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):y Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 41 2 996 3212 31 3952 notepad Beschreibung ----------- Mit diesem Befehl wird eine bestimmte Instanz des Notepad-Prozesses (Editor) beendet. Der Prozess wird mit der Prozess-ID 3952 angegeben. Mit dem Confirm-Parameter wird Windows PowerShell angewiesen, das Beenden des Prozesses durch den Benutzer bestätigen zu lassen. Da die Eingabeaufforderung neben der Prozess-ID auch den Prozessnamen enthält, ist dies die empfohlene Vorgehensweise. Mit dem PassThru-Parameter wird das Prozessobjekt zur Anzeige an das Formatierungsprogramm übergeben. Ohne diesen Parameter wird nach dem Befehl "Stop-Process" nichts angezeigt.BEISPIEL 3C:\PS>calc c:\PS>$p = get-process calc c:\PS>stop-process -inputobject $p c:\PS>get-process | where-object {$_.HasExited} Beschreibung ----------- Mit dieser Folge von Befehlen wird der Calc-Prozess gestartet und beendet. Anschließend werden beendete Prozesse ermittelt. Mit dem ersten Befehl ("calc") wird eine Instanz des Rechners gestartet. Der zweite Befehl ("$p = get-process calc") ruft mit dem Cmdlet "Get-Process" ein Objekt ab, das den Calc-Prozess darstellt, und speichert dieses in der Variablen "$p". Der dritte Befehl ("stop-process -inputobject $p") beendet mit dem Cmdlet "Stop-Process" den Calc-Prozess. Mit dem InputObject-Parameter wird das Objekt an Stop-Process übergeben. Mit dem letzten Befehl werden alle zuvor auf dem Computer ausgeführten Prozesse abgerufen, die nun beendet sind. Mit dem Cmdlet "Get-Process" werden alle Prozesse auf dem Computer abgerufen. Mit dem Pipelineoperator (|) werden die Ergebnisse an das Cmdlet "Where-Object" übergeben, das diejenigen auswählt, bei denen der Wert der HasExited-Eigenschaft gleich TRUE ist. "HasExited" ist nur eine der Eigenschaften von Prozessobjekten. Um alle Eigenschaften zu suchen, geben Sie "get-process | get-member" ein.BEISPIEL 4C:\PS>get-process lsass | stop-process Stop-Process : Cannot stop process 'lsass (596)' because of the following error: Access is denied At line:1 char:34 + get-process lsass | stop-process <<<< [ADMIN]: C:\PS> get-process lsass | stop-process Warning! Are you sure you want to perform this action? Performing operation 'Stop-Process' on Target 'lsass(596)' [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): [ADMIN]: C:\PS> get-process lsass | stop-process -force [ADMIN]: C:\PS> Beschreibung ----------- Mit diesen Befehlen werden die Auswirkungen des Force-Parameters beim Beenden eines Prozesses veranschaulicht, dessen Besitzer nicht der Benutzer ist. Der erste Befehl ruft mit dem Cmdlet "Get-Process" den Prozess "Lsass" ab. Ein Pipelineoperator sendet den Prozess an das Cmdlet "Stop-Process", um ihn zu beenden. Wie in der Beispielausgabe gezeigt, tritt beim ersten Befehl ein Fehler auf, und es wird eine Meldung angezeigt, dass der Zugriff verweigert wurde. Dies liegt daran, dass dieser Prozess nur von einem Mitglied der Administratorgruppe auf dem Computer beendet werden kann. Wenn Windows PowerShell mit der Option "Als Administrator ausführen" geöffnet wird und der Befehl wiederholt wird, werden Sie von Windows PowerShell zur Bestätigung aufgefordert. Der zweite Befehl unterdrückt die Eingabeaufforderung mithilfe des Force-Parameters. Der Prozess wird daher ohne Bestätigung beendet. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113412 (möglicherweise auf Englisch) Get-Process Start-Process Stop-Process Wait-Process Debug-Process C:\Windows>powershell get-help Wait-Process -full
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export