Monday, October 06, 2014

Implementieren von „Ordner nur auf primären Computern umleiten“ für ältere Betriebssysteme (1/10)


Dieser zehnteilige Blogpost schildert eine Lösung für die Konfiguration von älteren Clients für die Richtlinieneinstellung Ordner nur auf primären Computern umleiten, die ab Windows 8 verfügbar ist. 
 
Teil 1: Ist-Situation und Anforderung
Teil 2: DNs von Benutzer und Computer in Umgebungsvariablen speichern
Teil 3: Festlegen von Umgebungsvariablen
Teil 4: Festlegen weiterer Umgebungsvariablen
Teil 5: Zielordner für Dokumente" anlegen
Teil 6: Umleitung und Offline-Verfügbarkeit konfigurieren
Teil 7: Anzeigename konfigurieren und Ergebnis prüfen
Teil 8: Umleitung unter bestimmten Bedingungen deaktivieren
Teil 9: Konfiguration für weitere Ordner (1)
Teil 10: Konfiguration für weitere Ordner (2)

Das Problem

Mit Windows 8 sind für servergespeicherte Profile und umgeleitete Ordner zwei neue Richtlinieneinstellungen für Computer und Benutzer verfügbar:

Servergespeicherte Profile nur auf primären Computern herunterladen (http://gpsearch.azurewebsites.net/#8140)

Ordner nur auf primären Computern umleiten (http://gpsearch.azurewebsites.net/#7485 und http://gpsearch.azurewebsites.net/#7486)

Diese Einstellungen optimieren die Zeit für die Anmeldung eines Benutzers und erhöhen die Sicherheit der Benutzerdaten. Meldet sich ein Benutzer mit servergespeichertem Profil an, wird zunächst eine Kopie des Profils auf dem Computer erstellt. Je nach Profilgröße kann dies mehrere Minuten dauern, insbesondere wenn sich der Computer in einem anderen Standort befindet. Sind Ordner des Benutzers umgeleitet und offline verfügbar (das ist die Standardkonfiguration), werden zudem die Daten dieser Ordner in den Offline-Cache synchronisiert. Beides verlängert die Anmeldedauer (unter Umständen erheblich), zudem befinden sich anschließend möglicherweise private Daten auf dem Computer.

In Windows 8 kann dieses Verhalten durch die oben angegebenen Richtlinien einfach angepasst werden. Dazu trägt der Administrator in das Attribut msDS-PrimaryComputer des Benutzerkontos die Namen (distinguishedName) der primären Computer ein. Anschließend aktiviert er eine oder beide Richtlinien. Für Windows 7 und älter steht diese Funktion nicht zur Verfügung.
Weitere Informationen zur Konfiguration von primären Computern finden wir in diesem Technet-Artikel: http://technet.microsoft.com/library/jj649076.aspx

Die Aufgabe

Unsere Arbeitsplätze arbeiten unter Windows 7. Wir möchten aber die Ordnerumleitung so konfigurieren können, wie das eigentlich erst in Windows 8 möglich ist: Ordner sollen nur auf primären Computern umgeleitet und offline verfügbar gemacht werden. Auf die Funktion für servergespeicherte Profile können wir verzichten, da wir bereits ausschließlich mit lokalen Profilen arbeiten. Allerdings soll der Benutzer auch dann transparent auf seine Daten zugreifen können, wenn die Ordnerumleitung nicht aktiv ist. Die entsprechenden Verzeichnisse im Benutzerprofil sind dann natürlich leer (die Daten befinden sich ja im ursprünglichen umgeleiteten Ordner).
Unsere Zielkonfiguration besteht aus folgenden Einstellungen:

  • Umgeleitet werden die Ordner Dokumente, Bilder, Musik, Videos, Favoriten und Downloads.
  • Alle Umleitungen haben das Ziel %homeshare%%homepath%, das Umleitungsziel wird also durch den Basisordner des Benutzerkontos festgelegt
  • Umgeleitete Ordner sind automatisch offline verfügbar 
  • Der Anzeigename der umgeleiteten Ordner soll lokalisiert sein
Für die Eiligen gibt es hier auch den Einstellungsbericht des Gruppenrichtlinienobjekts, das das alles umsetzt:



Die Lösung

Um die Aufgabe umzusetzen, werfen wir zunächst einen Blick hinter die Kulissen. Was passiert eigentlich, wenn ein Ordner umgeleitet wird oder offline verfügbar ist und wie kann ich das möglicherweise zentral festlegen?

Vorüberlegungen

Die Ordnerumleitung findet sich in Registrierungswerten unter HKCU\Software\Microsoft\Windows\Current Version\Explorer\User Shell Folders (und Shell Folders - http://blogs.msdn.com/b/oldnewthing/archive/2003/11/03/55532.aspx) wieder. Der Registrierungswert Personal enthält beispielsweise den Pfad zum Ordner Dokumente. Ändern wir diesen Eintrag und melden uns neu an, dann öffnet sich jetzt der neue Pfad statt des bisherigen. Diese Änderung können wir mit Hilfe von Group Policy Preferences Registrierung (http://technet.microsoft.com/library/cc771589.aspx) auch zentral durchführen. Wichtig ist nur, dass der Zielordner existiert, bevor Windows Explorer gestartet ist.

Um den Zielordner anzulegen, können wir Group Policy Preferences Ordner verwenden (http://technet.microsoft.com/library/cc726070.aspx).

Offline verfügbare Dateien kann der Benutzer manuell auswählen. Alternativ kann ein Administrator Offlinedateien zuweisen (http://gpsearch.azurewebsites.net/#7844). Diese Einstellung resultiert in Registrierungswerten unter HKCU\Software\Policies\Microsoft\Windows\NetCache\AssignedOfflineFolders, und diese können wir natürlich ebenfalls mit GPP Registrierung verwalten.

Zudem müssen wir noch eine Reihe von Konfigurationseinstellungen berücksichtigen:

  • Hat der Benutzer überhaupt einen Basisordner, in den wir umleiten können? 
  • Werden umgeleitete Ordner automatisch offline verfügbar oder nicht? (http://gpsearch.azurewebsites.net/#293) 
  • Sollen Ordner nur auf primären Computern umgeleitet werden? (Siehe oben) 
  • Wie soll sich unsere Methode verhalten, wenn es keine Einträge in msDS-PrimaryComputer gibt? Das können wir frei entscheiden – und wir legen fest, dass in diesem Fall immer umgeleitet werden soll, um Irritationen beim Benutzer zu vermeiden.
 

Schematischer Ablauf

Für unser Szenario verwenden wir zwei grundsätzliche Konfigurationsblöcke. Der erste ermittelt die Randbedingungen und legt dann fest, ob umgeleitet wird und ob offline verfügbar gemacht wird – das muss ja nur einmal gemacht werden und nicht für jeden Ordner einzeln. Der zweite Block leitet die einzelnen Ordner dann bedarfsweise um, macht sie offline verfügbar und konfiguriert den lokalisierten Anzeigenamen.

Für die Randbedingungen im ersten Block arbeiten wir der Einfachheit halber mit Umgebungsvariablen – damit ist dann auch leicht nachvollziehbar, welche Ergebnisse daraus resultieren. Wir erstellen mit Group Policy Preferences Umgebung (http://technet.microsoft.com/library/cc770493.aspx) folgende Variablen:

  • %ComputerDN% enthält den distinguishedName des aktuellen Computers
  •  %UserDN% enthält den distinguishedName des Benutzers (diesen benötigen wir, um bei der Suche nach primären Computern direkt an den Benutzer zu binden, siehe weiter unten) 
  • %FR_RedirTarget% enthält den Basisordner des Benutzers (%homeshare%%homepath% können wir nicht verwenden, da %homepath% während der GPO-Verarbeitung noch leer ist) oder 0, wenn kein Basisordner festgelegt wurde. 
  • %FR_IsPrimaryComputer% enthält 1, wenn der aktuelle Computer ein primärer Computer ist, oder existiert nicht 
  • %FR_OnPrimaryComputerOnly% enthält 1, wenn nur auf primären Computern umgeleitet wird, oder existiert nicht 
  • %FR_OfflineAvailable% enthält 1, wenn umgeleitete Ordner offline verfügbar werden sollen, oder existiert nicht 
  • %FR_DoRedirect% enthält 1, wenn umgeleitet wird, oder existiert nicht
Auf die Variable %ComputerDN% könnten wir auch verzichten. Wir müssen lediglich sicherstellen, dass die Einträge in msDS-PrimaryComputer eindeutig identifizierbar sind, der Computername würde sich daher ebenso gut eignen. %ComputerDN% bietet allerdings den Vorteil, dass wir kompatibel mit den Mechanismen sind, die in Windows 8 implementiert wurden.

Für die Verarbeitung der umgeleiteten Ordner müssen wir folgende Schritte implementieren:
  •    Wenn umgeleitet wird: 
    • Ordnerziele der Umleitung erstellen und als Readonly markieren (sonst funktioniert desktop.ini nicht - http://msdn.microsoft.com/library/cc144102.aspx) 
    • Einträge in User Shell Folders und Shell Folders für Umleitungsziel konfigurieren 
    • Ordner ggf. offline verfügbar machen 
    • desktop.ini konfigurieren
  • Wenn nicht umgeleitet wird: 
    • Einträge in User Shell Folders und Shell Folders für lokales Profil konfigurieren
    • Verknüpfungen in den aktuellen Ordnern im Benutzerprofil erstellen, die zu den (umgeleiteten) Ordnern führen, damit der Benutzer seine Dateien leicht findet
    • Ggf. ehemals umgeleitete Ordner nicht mehr offline verfügbar machen
Im nächsten Teil geht es weiter mit der praktischen Umsetzung...

No comments:

Post a Comment