Bei der Verwendung von Roaming Profiles auf einem Terminalserver kann es vorkommen, dass die lokal zwischengespeicherten Benutzerprofile bei der Abmeldung nicht mehr gelöscht werden. Dies hat zur Folge, dass weder der Ordner für die Benutzerprofile, noch die damit verknüpften Registry-Einträge aus dem System entfernt werden. Aber, mit einem kleinen Skript kannst Du lokale Benutzerprofile auf dem Terminalserver löschen.



Per PowerShell lokale Benutzerprofile auf dem Terminalserver löschen

Anders als bei User-Profile-Disks, bei denen die Benutzerprofile in VHD-Dateien gespeichert sind, werden bei Roaming Profiles die Dateien des Benutzerprofils meist in die lokalen Benutzerprofile geladen. Meldet sich der Benutzer wieder vom Terminalserver ab, so werden die Änderungen auf den zentralen Speicherort geschrieben und das lokale Profil wieder gelöscht.

Soweit, so gut. Allerdings funktioniert das abschließende Löschen des lokalen Benutzerprofils nicht immer wie gewünscht. Dadurch entstehen im Benutzerprofilordner des Terminalservers unter Umständen sehr viele verwaiste Ordner (username.001, username.002). Außerdem werden die Benutzerprofile nicht aus der Profile List in der Windows Registry entfernt (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList).

Um das lokale Benutzerprofil auf dem Terminalserver löschen zu können müsstest Du nun (im schlimmsten Fall) zig Ordner und Einträge manuell löschen – leichter geht es aber per PowerShell.

Nicht verwendete Profile mit WMI ermitteln und entfernen

Dabei nutzen wir das Cmdlet Get-WmiObject und ermitteln aus dem WMI-Objekt , welche der lokal vorhandenen Benutzerprofile zur Zeit nicht in Verwendung sind. Diese werden anschließend gelöscht. Der hierfür benötigte Wert lautet:

Dieser Befehl entfernt ohne Rückfrage alle nicht in Verwendung befindlichen Benutzerprofile, die im lokalen Benutzerprofilverzeichnis gespeichert sind. Ebenso werden alle verwaisten Registryeinträge in der oben genannten ProfileList gelöscht. Für bessere Ergebnisse sollte dieser Befehl unmittelbar nach einem Neustart des Servers angewendet werden. Damit wird ausgeschlossen, dass sich einzelne Dateien durch etwaige Zugriffe nicht löschen lassen.

Wenn Du wissen möchtest, welche Objekte gelöscht werden können, kannst Du die Ergebnisse der Abfrage auch zunächst nur in eine Textdatei schreiben:

Lokale Benutzerprofile auf dem Terminalserver löschen

Lokale Benutzerprofile auf dem Terminalserver löschen – Die vorherige Ausgabe in eine Textdatei zeigt Dir, welche Einträge entfernt werden können.

Ebenfalls interessant in diesem Zusammenhang:

Wenn Dir diese Information weitergeholfen hat, kannst Du mir das gerne in die Kommentare schreiben. Ebenfalls freue ich mich über jede kleine Spende, die Du diesem Blog ganz unkompliziert über PayPalMe zukommen lassen kannst.
Wer lieber einen Obolus in Bitcoins dalassen mag, dann bitte an 17zAdJSDYkukxeWFfSu5qjnmMtKamWzRuD.
Vielen Dank.

René Albarus

Ich heiße René Albarus und bin seit 2002 beruflich im Bereich der Systemadministration tätig. Da auch ich einen Teil meines Wissens IT-Blogs im Internet verdanke, ist es für mich selbstverständlich, dass ich Lösungsansätze und Anleitungen in diesem Blog weitergebe.
René Albarus
0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.