Vista: Umzug von Nutzer-Profilen

January 12th, 2007

Hier mal wieder etwas aus meinen Erfahrungen mit Vista. Eine meiner ersten Aktionen nach einer Win-Installation ist die Verschiebung des Nutzerprofils von der Windows-Partition weg auf eine andere.

Unter Vista hat sich zum Glück wenig geändert, es funktioniert (fast) genauso wie unter Windows XP: Der Nutzer der gewechselt werden soll muss abgemeldet sein, man muss sich also mit einem anderen Admin-Account einloggen. Nun in der Registry (regedit) einfach nach
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ ProfileList
durchhangeln. Dort gibt es wie eh und je kryptische Unterschlüssel, die den System-User-IDs entsprechen. Nun den entsprechenden Unterschlüssel des Users suchen und den ProfileImagePath anpassen.

Nun muss das Profil nach dem theoretischen Teil noch praktisch umziehen. Ich dachte mir, wie unter XP üblich mache ich diese Aktion mit dem Filetool meines Vertrauens (Total Commander), aber ich musste feststellen, dass selbst als Admin ausgeführt, beim kopieren ständig der Fehler kam, dass die Dateien nicht geöffnet werden können. Der Versuch das ganze per copy in der Shell zu machen schlug ebenso fehl. Aus Verzweiflung habe ich es dann (eigentlich im Glauben, dass es nicht geht) im Explorer versucht und tatsache, es ging ohne Probleme.

Allerdings musste ich ein “Problem” feststellen: In dem nun verschobenen Profil-Ordner, waren die dort enthaltenen Kompatibilitätslinks (Anwendungsdaten, Cookies, Druckumgebung etc.) nicht mehr vorhanden. Diese “vergisst” Vista wohl zu verschieben. Leider weiss ich auch nicht hundertprozentig, ob Anwendungen die wirklich brauchen. Da es aber Kompatibilitätslinks sind, werden sie bestimmt von irgendeiner alten Anwendung gebraucht. Also habe ich mir dafür ein kleines Shell-Skript geschrieben, was die Links automatisch erstellt. Wer sein Profil also verschieben und die Links wieder herstellen will, braucht sich nur unten stehende Zeilen in eine .cmd-Datei kopieren und das Skript mit “script.cmd pfadZumProfil” aufrufen (z.B. “script.cmd D:\Profil\User”):

mklink /J "%1\Anwendungsdaten" "%1\AppData\Roaming"
attrib +H +S "%1\Anwendungsdaten" /L
pause
mklink /J "%1\Cookies" "%1\AppData\Roaming\Microsoft\Windows\Cookies"
attrib +H +S "%1\Cookies" /L
mklink /J "%1\Druckumgebung" "%1\AppData\Roaming\Microsoft\Windows\Printer Shortcuts"
attrib +H +S "%1\Druckumgebung" /L
mklink /J "%1\Eigene Dateien" "%1\Documents"
attrib +H +S "%1\Eigene Dateien" /L
mklink /J "%1\Lokale Einstellungen" "%1\AppData\Local"
attrib +H +S "%1\Lokale Einstellungen" /L
mklink /J "%1\Netzwerkumgebung" "%1\AppData\Roaming\Microsoft\Windows\Network Shortcuts"
attrib +H +S "%1\Netzwerkumgebung" /L
mklink /J "%1\Recent" "%1\AppData\Roaming\Microsoft\Windows\Recent"
attrib +H +S "%1\Recent" /L
mklink /J "%1\SendTo" "%1\AppData\Roaming\Microsoft\Windows\SendTo"
attrib +H +S "%1\SendTo" /L
mklink /J "%1\Startmenü" "%1\AppData\Roaming\Microsoft\Windows\Start Menu"
attrib +H +S "%1\Startmenü" /L
mklink /J "%1\Vorlagen" "%1\AppData\Roaming\Microsoft\Windows\Templates"
attrib +H +S "%1\Vorlagen" /L

Leider gibt es hier nur ein kleines Manko: Die Verknüpfung Startmenü stellt leider den Umlaut ü nicht korrekt dar, dieser muss über “Umbenennen” korrigiert werden. Keine Ahnung, wieso genau, aber scheinbar kann das mklink nicht den Umlaut aus der Shell korrekt umsetzen.

Funktionstüchtig ist das ganze aber nun! :)

Leave a Reply


Impressum
Creative Commons License
© 2005-2008 Andreas Groll