Desktop Hintergrund wird nicht gespeichert
Hallo administrator users,
wir haben ein Problem mit den Userprofilen.
Es handelt sich um eine Windows SBS2003 Umgebung mit Windows XP Sp2 Clients
Meldet sich der User ab und wieder an fehlt das Hintergrundbild und wir habe keine ahnung warum !??
Vielleicht könnt ihr uns weiterhelfen
Die Profile sind Servergespeichert.
##
-> Gruppenrichtlinien
nur bitmaphintergrund zulassen deaktiviert
eingene Dateien werden umgeleitet
zwischengespeicherte Kopien von Servergespeicherten Profilen löschen aktiviert
Grüsse aus Berlin
Michael
wir haben ein Problem mit den Userprofilen.
Es handelt sich um eine Windows SBS2003 Umgebung mit Windows XP Sp2 Clients
Meldet sich der User ab und wieder an fehlt das Hintergrundbild und wir habe keine ahnung warum !??
Vielleicht könnt ihr uns weiterhelfen
Die Profile sind Servergespeichert.
##
-> Gruppenrichtlinien
nur bitmaphintergrund zulassen deaktiviert
eingene Dateien werden umgeleitet
zwischengespeicherte Kopien von Servergespeicherten Profilen löschen aktiviert
Grüsse aus Berlin
Michael
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6853
Url: https://administrator.de/contentid/6853
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
33 Kommentare
Neuester Kommentar
Bei servergespeicherten Profilen wird das Hintergrundbild nicht mitgezogen, wenn sich der User auf einem anderen Client anmeldet. Zumindest ist das bei mir so.
Wenn die lokale Kopie des Profils beim Abmelden gelöscht wird, wird beim wiederanmelden das Profil komplett vom Server geladen und nicht nur Veränderungen abgegelichen.
Wenn du das löschen der zwischengespeicherten Kopien deaktivierst, sollte das Hintergrundbild clientspezifisch erhalten bleiben.
Wenn die lokale Kopie des Profils beim Abmelden gelöscht wird, wird beim wiederanmelden das Profil komplett vom Server geladen und nicht nur Veränderungen abgegelichen.
Wenn du das löschen der zwischengespeicherten Kopien deaktivierst, sollte das Hintergrundbild clientspezifisch erhalten bleiben.
HKEY_CURRENT_USER\Control Panel\Desktop
HKEY_USERS\<<a>SID<a>>\Control Panel\Desktop
Hier sind jeweils drei Werte 'Wallpaper', 'OriginalWallpaper' und 'ConvertedWallpaper'
Wallpaper verweist auf das aktuelle Hintergrundbild Pfad: C:\Dokumente und Einstellungen\<<a>USERNAME<a>>\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp (Wenn 'kein' ausgewählt ist natürlich ein Leerstring).
OriginalWallpaper verweist auch auf den Pfad, selbst wenn Wallpaper leer ist
ConvertedWallpaper verweist auf den Pfad der Originaldatei
Wenn die Pfade für OriginalWallpaper und Wallpaper in HKEY_USERS der NTUSER.DAT eines jeden Users auf dem Server geändert werden sollte es funktionieren.
Müsste man mal ausprobieren; aber heute nicht mehr
HKEY_USERS\<<a>SID<a>>\Control Panel\Desktop
Hier sind jeweils drei Werte 'Wallpaper', 'OriginalWallpaper' und 'ConvertedWallpaper'
Wallpaper verweist auf das aktuelle Hintergrundbild Pfad: C:\Dokumente und Einstellungen\<<a>USERNAME<a>>\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp (Wenn 'kein' ausgewählt ist natürlich ein Leerstring).
OriginalWallpaper verweist auch auf den Pfad, selbst wenn Wallpaper leer ist
ConvertedWallpaper verweist auf den Pfad der Originaldatei
Wenn die Pfade für OriginalWallpaper und Wallpaper in HKEY_USERS der NTUSER.DAT eines jeden Users auf dem Server geändert werden sollte es funktionieren.
Müsste man mal ausprobieren; aber heute nicht mehr
Mich hat das bis jetzt nicht gestört, und die User auch nicht.
Bei uns wird schließlich gearbeitet *sfg*
~~~~~~~~~~~~~~
Anyway, ich hab das jetzt in der VMWare nachgestellt. Bei mir funktioniert es!!
Die Wallpaperpade verweisen auf ene Freigabe im Profilverzeichnis des Users auf dem Server.
Die Pfade in der NTUSER.DAT habe ich wie oben beschrieben abgeändert.
Wenn der User sich an einem Client anmeldet und das Wallpaper ändert, sich abmeldet und an einem anderen Client anmeldet wird das geänderte Wallpaper geladen.
Bei uns wird schließlich gearbeitet *sfg*
~~~~~~~~~~~~~~
Anyway, ich hab das jetzt in der VMWare nachgestellt. Bei mir funktioniert es!!
Die Wallpaperpade verweisen auf ene Freigabe im Profilverzeichnis des Users auf dem Server.
Die Pfade in der NTUSER.DAT habe ich wie oben beschrieben abgeändert.
Wenn der User sich an einem Client anmeldet und das Wallpaper ändert, sich abmeldet und an einem anderen Client anmeldet wird das geänderte Wallpaper geladen.
In der Tat, das ist ein Argument
Was fällt mir da spontan ein *grübel*
Wenn der User bei der Anmeldung die Reg-Werte ändert, werden die bei der Abmeldung zurückgeschrieben. Bingo!
Die SID stellt noch ein Problem dar.
Vielleicht kannst du das Tool dafür einsetzen http://www.sysinternals.com/ntw2k/freeware/psgetsid.shtml
~~~~~~~~~~~~~~~~
'Wallpaper.reg
Windows Registry Editor Version 5.00
[HKEY_USERS\<<a>SID<a>>\Control Panel\Desktop]
"OriginalWallpaper"="<<a>\\Pfad\zum\Wallpaper<a>>"
[HKEY_USERS\<<a>SID<a>>\Control Panel\Desktop]
"Wallpaper"="<<a>\\Pfad\zum\Wallpaper<a>>"
~~~~~~~~~~~~~~~~
Was fällt mir da spontan ein *grübel*
Wenn der User bei der Anmeldung die Reg-Werte ändert, werden die bei der Abmeldung zurückgeschrieben. Bingo!
Die SID stellt noch ein Problem dar.
Vielleicht kannst du das Tool dafür einsetzen http://www.sysinternals.com/ntw2k/freeware/psgetsid.shtml
~~~~~~~~~~~~~~~~
'Wallpaper.reg
Windows Registry Editor Version 5.00
[HKEY_USERS\<<a>SID<a>>\Control Panel\Desktop]
"OriginalWallpaper"="<<a>\\Pfad\zum\Wallpaper<a>>"
[HKEY_USERS\<<a>SID<a>>\Control Panel\Desktop]
"Wallpaper"="<<a>\\Pfad\zum\Wallpaper<a>>"
~~~~~~~~~~~~~~~~
Mit einem Script oder reg-File hab ich es nicht getestet.
Bei manueller Änderung wie oben beschrieben funktioniert es bei mir in der VMWare einwandfrei. Auch nach Änderung durch den User und Wiederanmeldung.
Wenn du die Einträge auf dem Server änderst, darf der User nicht angemeldet sein. Sonst wird deine Änderung beim Abmelden überschrieben.
Vesuch mal, die Pfade zu ändern wenn du als User auf dem Client angemeldet bist.
Nur zum Test, ob sie dann geschrieben werden.
Bei manueller Änderung wie oben beschrieben funktioniert es bei mir in der VMWare einwandfrei. Auch nach Änderung durch den User und Wiederanmeldung.
Wenn du die Einträge auf dem Server änderst, darf der User nicht angemeldet sein. Sonst wird deine Änderung beim Abmelden überschrieben.
Vesuch mal, die Pfade zu ändern wenn du als User auf dem Client angemeldet bist.
Nur zum Test, ob sie dann geschrieben werden.
Hi,
hier sind noch ein paar Pfade, mit denen man mal herumspielen könnte:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion - WallpaperDir
HKEY_USERS\.DEFAULT\Control Panel\Desktop - OriginalWallpaper
HKEY_USERS\.DEFAULT\Control Panel\Desktop - Wallpaper
HKEY_USERS\.DEFAULT\Software\Microsoft\Internet Explorer\Desktop\General - BackupWallpaper
Grüße,
fritzo
hier sind noch ein paar Pfade, mit denen man mal herumspielen könnte:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion - WallpaperDir
HKEY_USERS\.DEFAULT\Control Panel\Desktop - OriginalWallpaper
HKEY_USERS\.DEFAULT\Control Panel\Desktop - Wallpaper
HKEY_USERS\.DEFAULT\Software\Microsoft\Internet Explorer\Desktop\General - BackupWallpaper
Grüße,
fritzo
..vielleicht hilft es auch, wenn man die Einstellungen für "Special Folders" auf einen UNC_Pfad ändert - geht mit TweakUI oder mit diesem Tool hier: http://windowsxp.mvps.org/folderredirector.htm
Grüße,
fritzo
Grüße,
fritzo
Wenn der User das Hintergrundbild ändert und das neue auf dem Serverlaufwerk liegt, bleibt der Pfad bestehen.
Wenn das Bitmap lokal liegt, wird es konvertiert und als Wallpaper1.bmp nach lokale Einstellungen kopiert.
Wenn das Bild in %SYSTEMROOT%\Web liegt wird dieser Pfad in die Registry geschrieben.
Mit TweakUI die Systemordner zu verchieben bringt für diese Sache jedenfalls nichts.
Wo man den Pfad auf %USERPROFILE% umbiegen kann weiß ich aber momentan auch nicht, Sorry.
Wenn das Bitmap lokal liegt, wird es konvertiert und als Wallpaper1.bmp nach lokale Einstellungen kopiert.
Wenn das Bild in %SYSTEMROOT%\Web liegt wird dieser Pfad in die Registry geschrieben.
Mit TweakUI die Systemordner zu verchieben bringt für diese Sache jedenfalls nichts.
Wo man den Pfad auf %USERPROFILE% umbiegen kann weiß ich aber momentan auch nicht, Sorry.
Windows erstellt leider vom gewählten Wallpaper immer seine eigene Datei (meist Wallpaper1.bmp) im Ordner "%USERPROFILE%\Lokale Einstellungen\Anwendungsdaten\Microsoft". Da dieser Ordner nicht propagiert wird, bleibt das Wallpaper auf dem Rechner, auf welchem es eingerichtet wurde.
Die Lösung des Problems liegt im Skripten eines Abmeldeskripts, das "HKCU\Control Panel\Desktop\Wallpaper" ausliest, das Wallpaper ins %APPDATA%\Microsoft Verzeichnis kopiert und anschließend den Registrierungseintrag updated. Das Skript kann mittels GP eingerichtet werden. (Benutzerkonfiguration\Windows-Einstellungen\Skripts\Abmelden)
SalvageWallpaper.wsf [Spitzklammern bei Tags (1, 2, vorletzte und letzte Zeile) bitte hinzufügen, sind im Posting nicht erlaubt]
job
script language="VBScript"
'Deklariere die Variablen
Dim wshShell, sAppData, sWallpaper, fso
'Erstelle das Shell-Objekt
Set wshShell = WScript.CreateObject( "WScript.Shell" )
'Ermittle den Pfad der Anwendungsdaten
sAppData = wshShell.ExpandEnvironmentStrings( "%APPDATA%" )
'Beende falls Pfad nicht gefunden
If IsNull( sAppData ) Or Len( sAppData ) = 0 Then
WScript.Quit
End If
'Ergänze den Pfad mit Unterordner Microsoft und Dateiname Wallpaper.bmp
sAppData = sAppData & "\Microsoft\Wallpaper.bmp"
'Ermittle das aktuelle Wallpaper
sWallpaper = wshShell.RegRead( "HKCU\Control Panel\Desktop\Wallpaper" )
'Beende falls kein Wallpaper gewählt wurde oder es sich bereits um ein salvaged Wallpaper handelt
If IsNull( sWallpaper ) Or Len( sWallpaper ) = 0 Or sWallpaper = "(Kein)" Or sWallpaper = sAppData Then
WScript.Quit
End If
'Erstelle das Dateisystem-Objekt
Set fso = WScript.CreateObject( "Scripting.FileSystemObject" )
'Kopiere das Wallpaper in das Anwendungsdaten-Verzeichnis
fso.CopyFile sWallpaper, sAppData
'Aktualisiere den Registrierungseintrag
wshShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sAppData
/script
/job
Die Lösung des Problems liegt im Skripten eines Abmeldeskripts, das "HKCU\Control Panel\Desktop\Wallpaper" ausliest, das Wallpaper ins %APPDATA%\Microsoft Verzeichnis kopiert und anschließend den Registrierungseintrag updated. Das Skript kann mittels GP eingerichtet werden. (Benutzerkonfiguration\Windows-Einstellungen\Skripts\Abmelden)
SalvageWallpaper.wsf [Spitzklammern bei Tags (1, 2, vorletzte und letzte Zeile) bitte hinzufügen, sind im Posting nicht erlaubt]
job
script language="VBScript"
'Deklariere die Variablen
Dim wshShell, sAppData, sWallpaper, fso
'Erstelle das Shell-Objekt
Set wshShell = WScript.CreateObject( "WScript.Shell" )
'Ermittle den Pfad der Anwendungsdaten
sAppData = wshShell.ExpandEnvironmentStrings( "%APPDATA%" )
'Beende falls Pfad nicht gefunden
If IsNull( sAppData ) Or Len( sAppData ) = 0 Then
WScript.Quit
End If
'Ergänze den Pfad mit Unterordner Microsoft und Dateiname Wallpaper.bmp
sAppData = sAppData & "\Microsoft\Wallpaper.bmp"
'Ermittle das aktuelle Wallpaper
sWallpaper = wshShell.RegRead( "HKCU\Control Panel\Desktop\Wallpaper" )
'Beende falls kein Wallpaper gewählt wurde oder es sich bereits um ein salvaged Wallpaper handelt
If IsNull( sWallpaper ) Or Len( sWallpaper ) = 0 Or sWallpaper = "(Kein)" Or sWallpaper = sAppData Then
WScript.Quit
End If
'Erstelle das Dateisystem-Objekt
Set fso = WScript.CreateObject( "Scripting.FileSystemObject" )
'Kopiere das Wallpaper in das Anwendungsdaten-Verzeichnis
fso.CopyFile sWallpaper, sAppData
'Aktualisiere den Registrierungseintrag
wshShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sAppData
/script
/job
Hier eine schönere Variante, einfach als wallpaper.js speichern:
Error.prototype.toString = new Function("return this.description");
try {
var oShell = WScript.CreateObject("WScript.Shell");
var oFS = WScript.CreateObject("Scripting.FileSystemObject");
var sWallpaper = oShell.ExpandEnvironmentStrings("%APPDATA%");
if (sWallpaper == "%APPDATA%") {
throw "Application data environment variable not set.";
}
if (sWallpaper.charAt(sWallpaper.length-1) != '\\') {
sWallpaper += "\\";
}
sWallpaper += "Microsoft\\Wallpaper.bmp";
var sCurrentWallpaper = oShell.RegRead("HKCU\\Control Panel\\Desktop\\Wallpaper");
if (sWallpaper.toLowerCase() != sCurrentWallpaper.toLowerCase() && oFS.FileExists(sCurrentWallpaper)) {
oFS.CopyFile(sCurrentWallpaper, sWallpaper, true);
oShell.RegWrite("HKCU\\Control Panel\\Desktop\\Wallpaper", sWallpaper);
}
} catch (e) {
WScript.Echo(WScript.ScriptName+": "+e);
}
Error.prototype.toString = new Function("return this.description");
try {
var oShell = WScript.CreateObject("WScript.Shell");
var oFS = WScript.CreateObject("Scripting.FileSystemObject");
var sWallpaper = oShell.ExpandEnvironmentStrings("%APPDATA%");
if (sWallpaper == "%APPDATA%") {
throw "Application data environment variable not set.";
}
if (sWallpaper.charAt(sWallpaper.length-1) != '\\') {
sWallpaper += "\\";
}
sWallpaper += "Microsoft\\Wallpaper.bmp";
var sCurrentWallpaper = oShell.RegRead("HKCU\\Control Panel\\Desktop\\Wallpaper");
if (sWallpaper.toLowerCase() != sCurrentWallpaper.toLowerCase() && oFS.FileExists(sCurrentWallpaper)) {
oFS.CopyFile(sCurrentWallpaper, sWallpaper, true);
oShell.RegWrite("HKCU\\Control Panel\\Desktop\\Wallpaper", sWallpaper);
}
} catch (e) {
WScript.Echo(WScript.ScriptName+": "+e);
}