PowerShell – Bei Programmschluss herunterfahren

Hier mal ein kleines PowerShell 3.0 Skript, womit ihr Euren Rechner kontrolliert herunterfahren könnt wenn das angegebene Programm beendet wurde. Solltet Ihr eine ältere Version von PowerShell haben, könnt Ihr eine neuere Version von der Microsoft Seite hier herunterladen. Das Update trägt den Namen “Windows Management Framework 3.0”

Wichtig: Damit das Skript wie unten Funktioniert muss vorher die Eigenschaft “-WhatIf” entfernt werden. Diese habe ich zur Sicherheit eingebaut, damit Ihr euren Rechner nicht aus versehen herunterfahrt 😉

Es muss lediglich in der ersten Zeile der Prozessname ohne Endung angegeben werden. Das Skript kann natürlich nach belieben bearbeitet werden!

Der Code sollte am Besten in die Entwicklungsumgebung von PowerShell eingefügt und anschließend gespeichert werden (PowerShell ISE).

# Name des Prozesses ohne Endung
$processName = "notepad"


$process = Get-Process | Where-Object { $_.ProcessName -eq $processName }

If($process -ne $null)
{
    $process.WaitForExit()

    Stop-Computer -Force -WhatIf
}
Else
{
    Write-Host "Es wird kein Prozess mit dem Namen ""$processName"" ausgeführt."
    
    $typo = Get-Process | Where{ $_.ProcessName -like "*$processName*" } 

    If(($typo | measure ).Count -gt 0)
    {
        Write-Host "Möglicherweise meinten Sie einen dieser Prozesse:"
        Get-Process | Where{ $_.ProcessName -like "*$processName*" } | Select -Property "Id","ProcessName"
    }
}

 

Solltet Ihr Fragen haben – Ab in die Kommentare damit! 🙂