PowerShell Prozesse und Dienste überwachen – Expertenleitfaden

Aktualisiert am 30.10.2026 · Lesezeit ca. 3 Min. · Niveau: Experten · von Viktor Tribus, IT-Tribus Nideggen

In dieser Befehlsübersicht lernen Sie als IT-Experte, wie Sie mit PowerShell Prozesse und Dienste effektiv überwachen können. Die Übersicht umfasst nützliche Cmdlets für den täglichen Gebrauch sowie tiefergehende Informationen zur Architektur, Sicherheit und Performance. IT-Tribus in Nideggen kann Ihnen bei der Umsetzung helfen.

So nutzen Sie diese Befehlsübersicht

Diese Cmdlets laufen unter Windows PowerShell auf lokalen oder Remotesystemen. Für die meisten Befehle benötigen Sie Administratorrechte, um alle Prozesse und Dienste zu überwachen und zu steuern.

Prozess-Überwachung

Befehl Beschreibung Beispiel
Get-Process Ermittelt Prozesse auf dem lokalen oder Remote-Computer.
PowerShell (als Administrator)
Get-Process | Where-Object 
Stop-Process Bricht einen Prozess ab.
PowerShell (als Administrator)
Stop-Process -Id 12345
Restart-Service Startet einen Dienst neu, wenn er bereits läuft.
PowerShell (als Administrator)
Restart-Service -Name "WinRM"
Get-WmiObject Win32_Process Gibt Informationen über Prozesse zurück, die auf dem Computer ausgeführt werden.
PowerShell (als Administrator)
Get-WmiObject Win32_Process | Where-Object 
Get-CimInstance Win32_Process Ermittelt Prozessinformationen, die sich auf dem Computer befinden.
PowerShell (als Administrator)
Get-CimInstance -ClassName "Win32_Process" | Where-Object 
Stop-WmiObject Bricht einen Prozess mit WMI ab.
PowerShell (als Administrator)
Get-WmiObject Win32_Process | Where-Object  | ForEach-Object 
Start-Process Startet eine neue Anwendung.
PowerShell (als Administrator)
Start-Process notepad.exe -ArgumentList "C:\temp\test.txt"
Get-Service Ermittelt Dienste auf dem lokalen oder Remote-Computer.
PowerShell (als Administrator)
Get-Service | Where-Object 
Start-Service Startet einen Dienst.
PowerShell (als Administrator)
Start-Service -Name "Spooler"
Stop-Service Bricht einen laufenden Dienst ab.
PowerShell (als Administrator)
Stop-Service -Name "Spooler"

Dienste und Prozess-Sicherheit

Befehl Beschreibung Beispiel
Get-Process -IncludeUserName Ermittelt die Benutzer, die einen Prozess ausführen.
PowerShell (als Administrator)
Get-Process -Name "chrome" -IncludeUserName | Select-Object UserName, Id, Name
Get-WmiObject Win32_Processor Gibt Informationen über den Prozessor zurück.
PowerShell (als Administrator)
Get-WmiObject Win32_Processor | Select-Object DeviceID, Name, MaxClockSpeed
Get-CimInstance Win32_ProcessStartup Ermittelt die Startoptionen eines Prozesses.
PowerShell (als Administrator)
Get-CimInstance -ClassName "Win32_ProcessStartup" | Select-Object CommandLine, ProcessId
Set-WmiInstance Win32_Process Bearbeitet Prozessinformationen.
PowerShell (als Administrator)
Set-WmiInstance -ClassName "Win32_Process" -Arguments @
Get-Service -Status Running Ermittelt laufende Dienste.
PowerShell (als Administrator)
Get-Service | Where-Object 
Set-Service -StartupType Automatic Bearbeitet die Startoptionen eines Dienstes.
PowerShell (als Administrator)
Set-Service -Name "Spooler" -StartupType Automatic
Get-AuditPolicySubCategory -Category "Process Tracking" Ermittelt die Überwachungseinstellungen für Prozesse.
PowerShell (als Administrator)
Get-AuditPolicySubCategory -Category "Process Tracking" | Select-Object SubCategory, AuditFlag
Set-AuditPolicySubCategory -AuditFlags SuccessAndFailure Bearbeitet die Überwachungseinstellungen für Prozesse.
PowerShell (als Administrator)
Set-AuditPolicySubCategory -Subcategory "Process Creation" -AuditFlags SuccessAndFailure
Get-EventLog -LogName Security Ermittelt Sicherheitsereignisse im System.
PowerShell (als Administrator)
Get-EventLog -LogName Security | Where-Object 
Set-WmiInstance Win32_ProcessStartTrace Bearbeitet die Startoptionen eines Prozesses.
PowerShell (als Administrator)
Set-WmiInstance -ClassName "Win32_ProcessStartTrace" -Arguments @

Prozess-Performance und Ressourcenüberwachung

Befehl Beschreibung Beispiel
Get-Counter Ermittelt Performancedaten.
PowerShell (als Administrator)
Get-Counter -Counter "\Process(*)\% Processor Time"
Get-WmiObject Win32_PerfFormattedData_PerfProc_Process Gibt Performancedaten für Prozesse zurück.
PowerShell (als Administrator)
Get-WmiObject -Query "SELECT * FROM Win32_PerfFormattedData_PerfProc_Process WHERE Name = 'chrome'" | Select-Object Name, PercentProcessorTime, WorkingSet
Get-CimInstance Win32_PerfRawData_PerfProc_Process Ermittelt Performancedaten für Prozesse.
PowerShell (als Administrator)
Get-CimInstance -ClassName "Win32_PerfRawData_PerfProc_Process" | Where-Object  | Select-Object Name, PercentProcessorTime, WorkingSet
Get-WmiObject Win32_OperatingSystem Gibt Informationen über das Betriebssystem zurück.
PowerShell (als Administrator)
Get-WmiObject -ClassName "Win32_OperatingSystem" | Select-Object FreePhysicalMemory, TotalVisibleMemorySize, FreeVirtualMemory
Get-CimInstance Win32_ComputerSystem Ermittelt Informationen über den Computer.
PowerShell (als Administrator)
Get-CimInstance -ClassName "Win32_ComputerSystem" | Select-Object Name, Manufacturer, Model, TotalPhysicalMemory
Get-WmiObject Win32_Volume Gibt Informationen über Laufwerke zurück.
PowerShell (als Administrator)
Get-WmiObject -ClassName "Win32_Volume" | Select-Object DriveLetter, Label, Capacity, FreeSpace
Get-CimInstance Win32_NetworkAdapterConfiguration Ermittelt Informationen über Netzwerkadapter.
PowerShell (als Administrator)
Get-CimInstance -ClassName "Win32_NetworkAdapterConfiguration" | Where-Object  | Select-Object Description, IPAddress, DefaultIPGateway
Get-WmiObject Win32_PerfFormattedData_Tcpip_TCPv4 Gibt Performancedaten für TCP/IP zurück.
PowerShell (als Administrator)
Get-WmiObject -ClassName "Win32_PerfFormattedData_Tcpip_TCPv4" | Select-Object ActiveConnections, ConnectionsEstablished, ConnectionsReset, CurrentConnections
Get-CimInstance Win32_NetworkConnection Ermittelt Informationen über Netzwerkverbindungen.
PowerShell (als Administrator)
Get-CimInstance -ClassName "Win32_NetworkConnection" | Select-Object LocalName, RemoteName, Status, Type
Get-WmiObject Win32_PerfFormattedData_PerfNet_Server Gibt Performancedaten für Netzwerkserver zurück.
PowerShell (als Administrator)
Get-WmiObject -ClassName "Win32_PerfFormattedData_PerfNet_Server" | Select-Object ConnectionsAccepted, CurrentConnections, FailedConnectionAttempts, OutputQueueLength

Praxisbeispiele: Befehle kombinieren

Identifiziere und beende ressourcenintensive Prozesse:

PowerShell (als Administrator)
# Ermittle die Prozesse mit dem höchsten CPU-Aufwand
$highCpuProcesses = Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5

# Zeige die ermittelten Prozesse an
$highCpuProcesses | Format-Table Id, Name, CPU

# Beende den ressourcenintensivsten Prozess (wenn sicher)
Stop-Process -Id $highCpuProcesses[0].Id

Überwache die Performance von spezifischen Diensten:

PowerShell (als Administrator)
# Ermittle Performancedaten für den Spooler-Dienst
$spoolerPerformance = Get-Counter -Counter "\Process(Spoolsv)\% Processor Time", "\Process(Spoolsv)\Working Set"

# Zeige die ermittelten Daten an
$spoolerPerformance.CounterSamples | Format-Table Timestamp, Path, CookedValue

# Überwache die Performance auf regelmäßiger Basis (jede Minute)
Start-Job -ScriptBlock 

Überwache und protokolliere Prozessstartereignisse:

PowerShell (als Administrator)
# Aktiviere die Überwachung von Prozessstarts
Set-AuditPolicySubCategory -Subcategory "Process Creation" -AuditFlags SuccessAndFailure

# Ermittle und protokolliere alle Prozessstartereignisse im Sicherheitslog
$processStartEvents = Get-WinEvent -LogName Security | Where-Object 

# Protokollieren der Ereignisse in einer Datei
$logFilePath = "C:\temp\ProcessStarts.log"
foreach ($event in $processStartEvents) 

Vorsicht bei diesen Befehlen

Einige der aufgeführten Befehle können gefährlich sein, insbesondere wenn sie ohne Vorsicht verwendet werden. Zum Beispiel kann Stop-Process wichtige Systemprozesse beenden und dazu führen, dass das System instabil wird. Stets sicherstellen, dass Sie den Prozessnamen oder die ID korrekt angeben und vorher ein Backup erstellen.

Häufige Fragen

Wie kann ich die Performance von spezifischen Diensten überwachen?

Sie können Performancedaten für spezifische Dienste mithilfe des Get-Counter-Cmdlets abrufen. Dies erlaubt Ihnen, Ressourcenverbrauch und andere Metriken zu verfolgen.

Kann ich Prozesse auf einem Remote-Computer überwachen?

Ja, Sie können die Cmdlets Get-Process, Stop-Process und ähnliche mit dem Parameter -ComputerName verwenden, um Prozesse auf einem Remote-Computer zu überwachen.

Wie kann ich sicherstellen, dass bestimmte Prozessereignisse protokolliert werden?

Mithilfe von Set-AuditPolicySubCategory können Sie die Überwachungseinstellungen für spezifische Prozesse wie „Process Creation“ aktivieren und sicherstellen, dass diese Ereignisse im Sicherheitslog protokolliert werden.

Gibt es eine einfache Möglichkeit, alle laufenden Dienste anzuzeigen?

Ja, Sie können den Befehl Get-Service verwenden, um alle laufenden Dienste auf Ihrem Computer anzuzeigen. Mit dem Parameter -Status Running filtern Sie nur die laufenden Dienste.

Fazit

Mit der Befehlsübersicht für PowerShell Prozesse und Dienstüberwachung können Experten effektiv Systeme überwachen, sicherstellen und optimieren. Diese Cmdlets bieten eine umfassende Möglichkeit, Performancedaten, Sicherheitseinstellungen und Ressourcenverbrauch zu analysieren und zu steuern.

Quellen und weiterführende Informationen

Hinweis: Dieser Beitrag wurde am 30.10.2026 mit KI-Unterstützung erstellt, auf Basis der genannten Quellen eigenständig formuliert und redaktionell von IT-Tribus betreut. Alle Angaben ohne Gewähr – bitte prüfen Sie Befehle vor dem Einsatz in produktiven Umgebungen und legen Sie vorher eine Sicherung an.

Benötigen Sie Unterstützung bei PowerShell Prozess Überwachung?

IT-Tribus ist Ihr IT-Dienstleister aus Nideggen. Vor Ort helfen wir in Düren, im Kreis Düren und in der Region Aachen – Monitoring und Fernwartung mit NinjaOne bieten wir Unternehmen auch überregional an.

Kostenlose Erstanalyse anfordern
📞 02427 9099860