Wie wann warum speichert JumpingProfiles Registry-Werte
Aus znilwiki
Wenn Jumpingprofiles eingesetzt wird haben die Benutzer in der Regel kein "normales" Profil sondern ein "Mandatory" Profil.
Ein Mandatory Profil ist vom Grundsatz her identisch mit einem normalen Benutzerprofil und enthält somit auch schon Registry-Schlüssel und Werte.
Bei der Anmeldung lädt Windows das Mandatory Profil und somit auch die Werte aus diesem als Vorgabe für den Benutzer.
Im nächsten Schritt kommt JPLogin.exe
und fügt weitere Werte aus den verschiedenen Konfigurationsdateien hinzu.
Zusätzlich werden all jene Werte geladen die für den Benutzer in seiner persönlichen JPLogin.exe
gespeichert waren.
Dann beendet sich die JPLogin.exe
- und nun kommen weitere Werte hinzu die ein Benutzer, bzw. die Software die er nutzt, während einer Terminalserver-Sitzung neu erstellt oder ändert.
Wenn der Benutzer sich nun abmeldet wird die JPLogout.exe
gestartet. Diese liest alle(!) Werte aus der Registry aus und speichert diese wieder in der JPUser.dat
Nun kann es aber sein das in der JPUser.dat
einen Wert oder Schlüssel vermissen - obwohl dieser während der Terminalserversitzung doch vorhanden war!
JumpingProfiles hat diese Werte eben doch nicht in der JPUser.dat
gespeichert - Warum????
Nun, in der JPUser.dat
werden alle persönlichen Einstellungen eines Benutzers gespeichert, alles was unterhalb von
HKEY_CURRENT_USER\
steht. Naja, fasst alles. Die Schlüssel und Werte werden nur gespeichert wenn:
- Diese nicht über eine Gruppenkonfigurationsdatei (GroupLogin.dat) gesetzt werden
- Nicht in der
FadeOut.dat
beim Abmelden herausgefiltert werden - Diese bereits im Mandatory Profil vorhanden sind und keinen anderen Wert aufweisen
Ähm? Ein paar Beispiele!
Beispiel 1: Ein Benutzer startet erstmalig eine Software „Demosoftware“ und macht eine Einstellung in dieser.
Der Benutzer macht eine Einstellung im Programm „Demosoftware“ welche diese in der Registry ablegt:
HKEY_CURRENT_USER\Software\Demosoftware\ Startfile = REG_SZ \\server1\share2\folder3\file4.txt
Der Eintrag „Startfile“ mit dem dazu gehörigen Wert wird dann Zukünftig in der persönlichen JPuser.dat
des Benutzers mit gespeichert.
Beispiel 2: Der Administrator gibt in einer GroupLogin.dat
der Software „Demosoftware“ eine Einstellung vor.
HKEY_CURRENT_USER\Software\Demosoftware\ Backupfile = REG_SZ \\server1\share2\tempfolder\backup.bak
Dem Benutzer steht nach der Anmeldung der Eintrag "Backupfile" mit dem dazugehörigen Wert zur Verfügung.
Der Benutzer kann den Wert während der Sitzung ändern, bei der nächsten Anmeldung wird der Wert aber wieder mit dem in der GroupLogin.dat
hinterlegten Wert überschrieben.
In der Registry stehen zur Laufzeit – mit Beispiel 1 – folgende Werte:
HKEY_CURRENT_USER\Software\Demosoftware\ Backupfile = REG_SZ \\server1\share2\tempfolder\backup.bak Startfile = REG_SZ \\server1\share2\folder3\file4.txt
Jedoch wird nur der Wert des Eintrages "Startfile" auch in der JPUser.dat gespeichert. Der Wert von "Backupfile" wird NICHT(!) in der JPUser.dat
gespeichert da dieser Wert bereits in der GroupLogin.dat
definiert wurde.
Beispiel 3:
- Das Mandatory Profil wurde durch eine Kopie eines vorhandenen Benutzers erzeugt.
- Dieser hatte die Software „Demosoftware“ bereits einmal gestartet und Einträge zum Benutzer gemacht:
HKEY_CURRENT_USER\Software\Demosoftware\ Company = REG_SZ Smith Ltd. Username = REG_SZ John Smith
Um die Beispiele 1 bis 3 von Oben zusammenzufassen, stehen nun nach der Anmeldung folgende Werte in der Registry des Benutzers:
HKEY_CURRENT_USER\Software\Demosoftware\ Backupfile = REG_SZ \\server1\share2\tempfolder\backup.bak Company = REG_SZ Smith Ltd. Startfile = REG_SZ \\server1\share2\folder3\file4.txt Username = REG_SZ John Smith
- Die Einträge "Company" und "Username" weil diese im Mandatory Profil vorhanden waren
- Der Eintrag "Backupfile" weil er durch die
GroupLogin.dat
gesetzt wurde - Der Eintrag "Startfile" weil der Benutzer ihn selbst gesetzt hat und somit aus der
JPUser.dat
geladen wurde.
Wiederum würde in der JPUser.dat
nur der Eintrag "Startfile" mit Wert gesichert werden.
Ändert der Benutzer jedoch während einer Sitzung den Eintrag
HKEY_CURRENT_USER\Software\Demosoftware\ Username = REG_SZ Kathy Jones
So wird auch dieser, vom Mandatory Profil abweichende Wert in der JPUser.dat abgespeichert und bei der Anmeldung wiederhergestellt. Der bereits im Mandatory vorhanden Eintrag und Wert wird als bei jeder Anmeldung überschrieben.
Wie wir an den Beispielen zu sehen ist, können Werte im Mandatory vorgegeben werden. Zum Beispiel wird ein Musterbenutzer einmal an der Umgebung angemeldet und eine Grundkonfiguration vorgenommen – Sprach und Währungs- und Datumformat, Grundeinstellungen von Programmen und so weiter.
Zu Bedenken ist jedoch, ob dieses bei allen Programmen sinnvoll ist. Insbesondere bei Programmen mit häufigen Versionswechseln müsste dann ggf. jedes Mal das Mandatory Profil angepasst werden – was in einer GroupLogin.dat
leichter zu ändern wäre.
Ist nun also ein Wert in der JPUser.dat
nicht zu finden so prüfen Sie also ob
- Der Wert in einer der
GroupLogin.dat
steht - Der Wert bereits im Mandatory-Profil vorhanden ist
- Der Wert über die
FadeOut.dat
nicht ausgefiltert wird
--Bernhard Linz 21:47, 26. Apr. 2014 (CEST)