screeper
Goto Top

Favoritenordner verschieben bzw. umleiten

Moin liebe Gemeinde face-smile

ich bin's, der Problemhaber. Nach unzähligen Versuchen über Google und Konsorten, wo's viele Ansätze gibt aber nicht die Lösung, die wir benötigen.

Folgendes Szenario:

Win 2008 Domäne mit XP Clients (was uns wahrscheinlich hierbei im Wege steht). Wir haben diverse GPOs erstellt, die allesamt gut funktionieren. Nun kam ich an den Punkt Ordnerumleitung. Ich möchte keine Serveruserprofile und habe den Desktop-Ordner auf eine Serverfreigabe umgeleitet. Funktioniert einwandfrei - sobald ein Benutzer sich anmeldet und die GPOs greifen, wird der Ordner <Benutzername> und dort der Ordner Desktop angelegt.

Nun wollen wir das Gleiche mit den Favoriten machen. Wir können das über die GPO knicken, da die Ordnerumleitung dort nicht für XP gilt und funktioniert. Ich habe dann verschiedene Ansätze über die Registryschlüssel ausprobiert, scheiter aber immer an der Stelle, an der ich dem System die Benutzervariable %username% übergeben möchte.

Genau geht es um die Schlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites und HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Favorites.
Wenn ich dort als Zeichenwert "\\(Servername)\Profiles\%username%\Favoriten angebe, legt mir das System spontan dort den Ordner "%username%" an anstatt den tatsächlichen Benutzernamen.

Auch der Versuch in HKLM in der Environment eine neue Umgebungsvariable anzulegen scheiterte, da auch dort die Variable %username% nicht aufgelöst wurde.

Gibt es vielleicht jemanden, der dahingehend schon erfolgreich tätig war??

Viele Grüße
Screeper

Content-Key: 174478

Url: https://administrator.de/contentid/174478

Ausgedruckt am: 28.03.2024 um 22:03 Uhr

Mitglied: Edi.Pfisterer
Edi.Pfisterer 11.10.2011 um 18:08:08 Uhr
Goto Top
Hallo!
Ohne lange nachzudenken - nur so als Idee:
wie wäre es, das Script in vbscript zu schreiben?

Dim objNet
On Error Resume Next 

Set objNet = CreateObject("WScript.NetWork")   

aktuellerBenutzer = objNet.UserName 
	
Set objNet = Nothing   

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")  

WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites und HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Favorites", "\\(Servername)\Profiles\" & akutellerBenutzer & "\Favoriten", "REG_SZ"  

Set WshShell = Nothing

komplett ungetestet (und in 1 Minute heruntergetippt - also ziemlich sicher fehlerhaft!)

lg, gutes Gelingen
Edi
Mitglied: dervonnebenan
dervonnebenan 12.10.2011 um 08:27:03 Uhr
Goto Top
Hallo!

Erstmal eine Frage am Rande. Warum willst du das eigentlich machen?

Viele Grüße!
Mitglied: Edi.Pfisterer
Edi.Pfisterer 12.10.2011 um 09:53:29 Uhr
Goto Top
@ dervonnebenan:
Dafür braucht man keine Glaskugel: Damit die User auf jedem Client ihre Favoriten zur Verfügung haben...
(ohne, dass er ein Servergespeichertes Profil benutzt). - Ist natürlich nur interessant, wenn die User sich auf verschiedenen Clients anmelden - allein die Möglichkeit wäre aber für ein möglich ausfallssicheres Szenario (dh, Unabhängigkeit von der Funktion des einzelnen Clients) ein anzustrebendes!

Abgesehen davon führen solche Fragen meist zu untechnischen Guerillakämpfen, in denen jeder besser weiss, warum man etwas nicht machen soll, um davon abzulenken, dass die "Heckenschützen" keine technische Lösung für das Problem haben.
(falls ich Dich beleidigt haben soll, tut es mir leid, aber meist sind diese Art von Fragen nur Zeitraubend und wenig dienlich!)

lg
Mitglied: Edi.Pfisterer
Edi.Pfisterer 12.10.2011 um 18:07:09 Uhr
Goto Top
Hallo!
hier nun die (unter XP SP2) getestete und funktionierende Version:
speichern als hudriwudri.vbs und einfach per gpo-startscript auf die Clients loslassen:

Dim objNet

Set objNet = CreateObject("WScript.NetWork")   

aktuellerBenutzer = objNet.UserName 
	
Set objNet = Nothing   

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")  

WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites","\\ilva\Profiles\" & aktuellerBenutzer &  "\Favoriten", "REG_SZ"  

WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Favorites","\\ilva\Profiles\" & aktuellerBenutzer & "\Favoriten", "REG_SZ"  

Set WshShell = Nothing

ein Feedback oder gar Dank wäre etwas ganz entzückendes face-wink

lg
Mitglied: Screeper
Screeper 14.10.2011 um 16:11:07 Uhr
Goto Top
Hallo zusammen.

Danke erstmal Edi. Momentan haben wir hier Großkampftage und ich konnte leider noch keinen Lösungsansatz testen. Dies werde ich in der nächsten Woche nachholen.

Vor allem möchte ich Dir für Deinen zweiten Kommentar danken. Solche Kommentare sind immer die Besten. face-smile
Mitglied: Screeper
Screeper 28.10.2011 um 11:04:37 Uhr
Goto Top
So, nun habe ich das mal getestet. Dem Testbenutzer wurde also im gewünschten Pfad der Ordner Favoriten angelegt und die Inhalte waren dort auch sichtbar. Leider waren im IE8 keine Favoriten mehr sichtbar. Auch die Favoritenverwaltung konnte dort nicht mehr aufgerufen werden. Habe ich da was übersehen?
Mitglied: Edi.Pfisterer
Edi.Pfisterer 04.11.2011 um 23:03:43 Uhr
Goto Top
Hallo!
Hast Du in der Zwischenzeit eine Lösung gefunden? Wäre nett von Dir, wenn Du den Code hier posten könntest, falls das jemand anders mal braucht...

lg
Edi
Mitglied: Screeper
Screeper 04.11.2011 um 23:42:11 Uhr
Goto Top
Nein, ich habe keinen Ansatz dafür. Auf dem Servershare ist alles da, lokal im IE des Clients keine Favoriten mehr... face-sad