Zum Inhalt

Mit Powershell lokalen User sauber löschen

Position geschlossen: WisdomTree Brent Crude Oil 3x Daily Leveraged

SSO Authentik und RAS

Spaßerweiterung für die Walther PDP 5 – KPOS G2D Schaftsystem

Für ein lokales Benutzerkonto unter Windows reicht Remove-LocalUser allein nicht aus, um auch das Profil (den Ordner unter C:\Users\Karoline mit allen Dateien) restlos zu entfernen. Wird nur das Konto gelöscht, bleibt der Profilordner sowie der zugehörige Registry-Eintrag unter ProfileList als Datenmüll zurück.

Saubere Reihenfolge (PowerShell als Administrator, Benutzer muss abgemeldet sein):

1. SID des lokalen Kontos ermitteln
$user = Get-LocalUser -Name „Karoline“
$sid = $user.SID.Value

2. Profil über CIM entfernen – löscht sowohl den Registry-Eintrag
(HKLM…\ProfileList) als auch den kompletten Profilordner samt Dateien
Get-CimInstance -ClassName Win32_UserProfile | Where-Object { $_.SID -eq $sid } | Remove-CimInstance

3. Lokales Benutzerkonto löschen
Remove-LocalUser -Name „Karoline“

Begründung für die Reihenfolge und die CIM-Methode statt Remove-Item -Recurse:

  • Remove-CimInstance auf Win32_UserProfile ist der von Microsoft vorgesehene Weg, ein Profil vollständig zu entfernen (Registry + Dateisystem in einem Schritt). Ein bloßes Remove-Item -Recurse -Force "C:\Users\Karoline" löscht nur die Dateien, lässt aber den ProfileList-Eintrag und ggf. NTUSER.DAT-Referenzen zurück. Referenz: Win32_UserProfile-Klasse
  • Remove-LocalUser stammt aus dem Modul Microsoft.PowerShell.LocalAccounts, das seit Windows 10/Server 2016 standardmäßig vorhanden ist. Referenz: Remove-LocalUser
  • Ich lösche das Konto erst nach dem Profil, weil Get-LocalUser sonst nach dem Löschen des Kontos die SID nicht mehr sauber auflösen kann.

Wichtige Einschränkungen, auf die ich hinweisen muss:

  • Das gilt nur für ein lokales Konto. Ist Karoline ein Domänenkonto mit lokal zwischengespeichertem Profil, funktioniert Remove-LocalUser nicht (das Konto liegt im AD) – dann nur Schritt 2 ausführen, das Konto selbst über AD-Tools (Remove-ADUser) verwalten.
  • Falls die Sitzung von Karoline noch aktiv oder eingeloggt ist, schlägt Remove-CimInstance fehl, da das Profil dann als „geladen“ markiert ist (Registry-Handle gesperrt).
  • Vor dem Ausführen sicherstellen, dass keine benötigten Daten mehr in dem Profil liegen – das ist unwiderruflich, keine Papierkorb-Wiederherstellung.