Windows 10 Windows 11 Windows 7 Windows 8

PowerShell Befehl: Status eines Programms prüfen

PowerShell Befehle für Prozessüberwachung

Mit PowerShell prüfen, ob ein Programm ausgeführt wird

Die PowerShell ist ein mächtiges Werkzeug zur Automatisierung von Aufgaben unter Windows. Eine häufige Anforderung für Systemadministratoren oder Power-User ist es, zu überprüfen, ob ein bestimmtes Programm oder Prozess aktuell auf einem System läuft. In diesem Artikel zeige ich dir, wie du genau das mit PowerShell machst – einfach, effektiv und flexibel.

Warum sollte man den Status eines Programms prüfen?

Das Überprüfen, ob ein Programm ausgeführt wird, kann aus verschiedenen Gründen notwendig sein:

  • Monitoring von wichtigen Anwendungen

  • Vermeidung von Mehrfachstarts

  • Skripte an Bedingungen knüpfen, z. B. „Nur starten, wenn nicht bereits offen“

Methode 1: Mit Get-Process prüfen

Die einfachste Methode ist die Verwendung von Get-Process. Damit lässt sich feststellen, ob ein Prozess mit einem bestimmten Namen aktiv ist.

if (Get-Process -Name "notepad" -ErrorAction SilentlyContinue) {
Write-Host "Notepad ist geöffnet."
} else {
Write-Host "Notepad ist nicht geöffnet."
}

Hinweis: Der Name des Prozesses ist meist der ausführbare Dateiname ohne „.exe“. Beispiel: chrome.exechrome.

Methode 2: Alternative mit Where-Object (für komplexere Abfragen)

Wenn du z. B. nach bestimmten Parametern oder einem bestimmten Benutzer suchen möchtest:

$prozess = Get-Process | Where-Object { $_.ProcessName -eq "notepad" }
if ($prozess) {
Write-Host "Notepad läuft – PID: $($prozess.Id)"
} else {
Write-Host "Notepad läuft nicht."
}

Methode 3: Abfrage über WMI (für detaillierte Informationen)

Mit Get-WmiObject bekommst du zusätzliche Informationen, z. B. den Pfad oder den Benutzer:

$prozess = Get-WmiObject Win32_Process -Filter "Name='notepad.exe'"
if ($prozess) {
Write-Host "Notepad läuft – gestartet von: $($prozess.GetOwner().User)"
} else {
Write-Host "Notepad läuft nicht."
}

Prüfung in einem Skript automatisieren

Du kannst dir ein PowerShell-Skript schreiben, das regelmäßig prüft, ob ein Programm läuft, und bei Bedarf eine Benachrichtigung ausgibt oder es startet:

$prozessName = "notepad"

if (-not (Get-Process -Name $prozessName -ErrorAction SilentlyContinue)) {
Start-Process “$prozessName.exe”
Write-Host “$prozessName wurde gestartet.”
} else {
Write-Host “$prozessName läuft bereits.”
}

Fazit

Mit PowerShell lässt sich ganz einfach überprüfen, ob ein bestimmtes Programm oder ein Prozess läuft. Abhängig von deinem Anwendungsfall kannst du einfache oder detaillierte Abfragen nutzen – von Get-Process über WMI bis hin zu komplexeren Skripten zur Automatisierung. Gerade im administrativen Alltag spart das viel Zeit und Aufwand.

Post Comment

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Zur Datenschutzerklärung

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen