Tags: System-Management, Server Core
Der schlanken Installationsoption Server Core fehlt es nicht nur am gewohnten Desktop, sondern auch an allen möglichen grafischen Tools für die Verwaltung des Systems. Dazu zählt auch das Applet der Systemsteuerung namens Programme und Funktionen. Daher ist Handarbeit notwendig, um eine Software zu deinstallieren.
Dazu gehört in erster Linie, dass man den Aufruf der De-Installationsroutine ermittelt, und zwar indem man den entsprechenden Eintrag in der Registry findet und ausliest. Zu diesem Zweck steht als eines der wenigen GUI-Tools regedit.exe auch unter Server Core zur Verfügung.
Uninstall-Informationen über mehrere Orte verteilt
Die Uninstall-Informationen können sich über verschiedene Zweige der Registrierdatenbank verteilen, wobei nicht erkennbar ist, nach welchen Kriterien sie wo abgelegt werden. Es sieht so aus, als würden Programme, die per User installiert wurden, getrennt von jenen verwaltet, die per Maschine eingespielt wurden. Letztere finden sich unter HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall.
Erstere trägt das System unterhalb von HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData ein, wobei dieser Schlüssel eine Reihe von Unterschlüssel enthält, deren Namen SIDs von verschiedenen Benutzern sind, beispielsweise S-1-5-18 für das lokale Systemkonto. Von hier folgt man dem Pfad Products\<UUID der Software>\InstallProperties.
Befehlszeile aus UninstallString entnehmen
Dieser Schlüssel enthält wie die UUID unter dem ersten Speicherort Uninstall die Werte für DisplayName und UninstallString. Der erste gibt Auskunft über den Namen der Software, der zweite liefert die Befehlszeile für den Aufruf der De-Installation.
Alternativ zu regedit kann man diese Schlüssel relativ einfach mit Powershell auslesen und filtern, so dass man sich bei langen Listen von installierten Programmen das Suchen erspart:
Get-ChildItem HKLM:\software\microsoft\windows\currentversion\uninstall |
ForEach-Object{Get-ItemProperty $_.pspath|select -property DisplayName, UninstallString |
Format-List}
Grundsätzlich geht das auch mit reg.exe, dieses kann aber die Werte für DisplayName und UninstallString nur in getrennten Aufrufen ermitteln, so dass sich die zusammengehörigen Informationen kaum verbinden lassen.
Windows-Features über Paketverwaltung entfernen
Wenn man Features von Windows entfernen möchte, dann erfolgt das bei einer GUI-Version des Betriebssystems ebenfalls über Systemsteuerung => Programme und Funktionen.
Unter Server Core muss man zu diesem Zweck jedoch nicht in der Registry wühlen, vielmehr hat man dafür gleich die Wahl zwischen mehreren Tools für die Paketverwaltung.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Windows-Paketverwaltung: servermanagercmd, dism, ocsetup, pkgmgr, cmdlets
- Nützliche Befehle für die Verwaltung von Windows Server Core
- Windows Server Core 2008 R2 remote verwalten
- GPO mit Active-Directory-Provider von Terraform erstellen und konfigurieren
- AppTec360 UEM im Test: PowerShell-Scripts im Netz verteilen und ausführen
Weitere Links