Windows cannot find the local profile – using temporary profile
Hallo, Bernd hier. Diese Woche war bei mir die Woche der Profile. Keine Ahnung warum, aber ab und an häufen sich Themen ohne ersichtlichen Grund. Diesmal: Warum werde ich in Vista und Windows 7 manchmal mit einem temporären Profil angemeldet während XP einfach mein servergespeichertes Profil nutzt? Etwas zum Hintergrund:
Allgemein bekannt sein dürfte, dass das Profil eines Benutzers eine Sammlung von Dateien, Einstellungen und Registrierungsdateien – zusammengefasst in einem Profilordner - ist. Sagen wir mal, diesem hier:
C:\Users\BENUTZER\ [in Windows Vista bzw. Windows 7]
C:\Documents and Settings\BENUTZER\ [in Windows XP]
Weniger bekannt ist, dass jeder Rechner, auf dem ein Benutzer sich anmeldet, auch eine Information über die gerade auf seiner Festplatte befindlichen Profilkopien speichert. Ein Registrierungsschlüssel mit der SID des Benutzers
HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-4259982270-434397305-3615631142-1121\
enthält neben einigen weiteren Informationen eben auch den Pfad zum lokalen Profilordner. Dieser Schlüssel wird gelöscht, sobald über das UI oder via Gruppenrichtlinie die lokale Kopie eines Profils gelöscht wird.
Bei der Anmeldung eines Benutzers wird nun in diesem Registryschlüssel nach der SID des Nutzers gesucht – und, wenn vorhanden, seine lokale Profilkopie über den dort gespeicherten Pfad gesucht. Diese wird dann mit der servergespeicherten Kopie abgeglichen – Ergebnis: der Nutzer hat die aktuellsten Daten in seiner Session, seinem Profil zur Verfügung.
Beide Teile der (lokalen) Profilkopie gehören untrennbar zusammen – fehlt eine, haben wir eine inkonsistente Situation, die seit Windows Vista anders aufgelöst wird, als noch in Windows XP.
Wenn unter Windows XP der Ordner gelöscht, der Registryschlüssel aber auf dem System belassen wurde, ging XP davon aus, dass nur noch der Ordner lokal angelegt und der Inhalt der servergspeicherten Version kopiert werden musste. Damit waren dann auch beide Teile der lokalen Kopie wieder vorhanden. Dies funktionierte auch in den meisten der Fälle – wer allerdings schon einmal Profilordner im Format
C:\Users\BENUTZER.0001
C:\Users\BENUTZER.0002
C:\Users\BENUTZER.0003
auf seinen Systemen vorgefunden hat, weiß, dass diese Strategie zur automatischen Problemlösung nicht immer aufgegangen ist. Hier war der orignale Ordner nicht gelöscht worden, sondern auf ihn konnte zum Anmeldezeitpunkt nicht zugegriffen werden. Zugriffsverletzungen, geänderte Berechtigungen, etc. – teilweise nur temporärer Natur – führen unter XP dazu, dass wir einen neuen lokalen Ordner erstellen – der Eintrag in der Profilelist zeigt dann eben auf den neuen
Ordner. Gerade in Terminalserver Umgebungen führt dies unter Umständen schnell zu einem Platzproblem.
In Windows Vista und Windows 7 wurde dieses Verhalten geändert. Nun wird im Falle einer inkonsistenten Situation nicht eine weitere lokale Kopie des Profils angelegt, sondern die verbleibende Komponente gesichert (hier ein Auszug aus dem Profil-Debug Log)
[profsvc]Software\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-4259982270-434397305-3615631142-1121 renamed to S-1-5-21-4259982270-434397305-3615631142-1121 .bak.
und bis zur Klärung durch einen Administrator der Benutzer mit einem Temporären Profil angemeldet.
Gleichzeitig werden zwei Events im Eventlog geschrieben:
Log Name: Application
Source: Microsoft-Windows-User Profiles Service
Date: 09.12.2009 13:15:06
Event ID: 1515
Task Category: None
Level: Error
Keywords:
User: CHILD1\BENUTZER
Computer: DMW701.child1.forest1.test
Description:
Windows has backed up this user profile. Windows will automatically try to use the backup profile the next time this user logs on.Log Name: Application
Source: Microsoft-Windows-User Profiles Service
Date: 09.12.2009 13:15:06
Event ID: 1511
Task Category: None
Level: Error
Keywords:
User: CHILD1\BENUTZER
Computer: DMW701.child1.forest1.test
Description:
Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.
Bei jeder weiteren Anmeldung wird Windows Vista bzw. Windows 7 den Schlüssel mit der Endung .bak wieder umbenennen und prüfen, ob der lokale Ordner mit der NTUSER.DAT inzwischen wieder zur Verfügung steht bzw. zugreifbar ist.
[profsvc]Checking Local Profile ...
[profsvc]Backup key Software\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-4259982270-434397305-3615631142-1121.bak restored.
[profsvc]Expanded local profile image path = <C:\Users\BENUTZER>
Wenn dies der Fall ist, wird dieses Profil genutzt und der Ordner mit der servergspeicherten Kopie abgeglichen. Sollte er allerdings weiterhin nicht verfügbar sein, greift wieder der oben beschriebene Mechanismus – umbenennen in .bak und anmelden mit einem temporären Profil. Dies wird sich wiederholen, bis ein Administrator die Situation geklärt und bereinigt hat:
- Sollte kein lokaler Ordner vorhanden sein, muss der Schlüssel (.bak) aus der Profilelist entfernt werden
- Sollte der lokale Ordner vollständig vorhanden sein, muss geprüft werden, ob z.B. die Rechte auf den Ordner korrekt sind, der Besitzer korrekt ist bzw. kein anderer Prozess Dateien im Profil exklusiv im Zugriff hält.
Dies sorgt zwar im ersten Moment für mehr Arbeit für den Administrator, stellt aber sicher, dass individuell auf die verschiedenen Ursachen reagiert wird (werden kann) anstatt eine “Lösung” über all diese unterschiedlichen Probleme zu stülpen: einfach eine neue Kopie des Benutzerprofils anzulegen.
Ich hoffe, das bringt etwas Licht in diese beiden KB Artikel, an denen sich die meisten Fragen in dieser Woche aufgehängt hatten:
https://support.microsoft.com/kb/947242
https://support.microsoft.com/kb/947215
Bernd “der jetzt in den Urlaub verschwindet” Puchtinger
Comments
Anonymous
January 01, 2003
Ich habe eine Frage und eine Ergänzung. Letztere zuerst: Neben vielen anderen Artikeln über Benutzerprofile habe ich auch über dieses Problem in meinem Blog geschrieben. Vielleicht interessiert sich jemand dafür: http://blogs.sepago.de/helge/ Und hier eine Frage: Woher stammen die drei gezeigten Log-Zeilen? [profsvc]Checking Local Profile ... [profsvc]Backup key SoftwareMicrosoftWindows NTCurrentVersionProfileListS-1-5-21-4259982270-434397305-3615631142-1121.bak restored. [profsvc]Expanded local profile image path = <C:UsersBENUTZER>Anonymous
January 01, 2003
Hi Martin, Error: ETA currently not available... Please try again later. ;-) Gruß FabianAnonymous
January 01, 2003
Hallo Helge, die Zeilen stammen aus dem Profiles.etl Log - dem Debug Log des Profile Service [profsvc]. Dieses ist ab Windows Vista der 'Nachfolger' des Userenv Debug Logs (KB 221833) - das leider (derzeit) nicht von Euch selber ausgewertet werden kann. Dass ich die Zeilen trotzdem in den Post genommen habe, dient der illustration der Prozesse die 'unter der Haube' bei Windows vonstatten gehen und die ich hier beschreibe. viele Grüße BerndAnonymous
December 14, 2009
Hi Bernd, wann können auch WIR die äußerst hilfreichen Logs auswerten? ;-) Gruß und einen schönen Urlaub, Martin