File-Type Assoziierung in Verb. mit Roaming Profiles u. “Delete cached copies of roaming profiles”

Hallo,

einen Tag vor Weinachten möchte ich meinen ersten Beitrag in diesem Blog publizieren

Thema: File-Type Assoziierung in Verb. mit Roaming Profiles u. “Delete cached copies of roaming profiles”

Ausgangssituation:

Vor einigen Wochen habe ich an einem Fall gearbeitet, wo der Kunde das Problem hatte, dass wenn ein Benutzer eine Dateierweiterung einem bestimmten Programm zugeordnet hat, es sich aber um keine Standarterweiterung gehandelt hat, Windows diese nach einer Ab- u. Anmeldung „vergessen“ hat.

Im konkreten Fall ging es um Windows 2008 R2 Systeme mit RDS-Funktion.
Der Kunde verwendet Roaming User Profiles und die GPO-Einstellung „Delete cached copies of roaming profiles“ war gesetzt.

Hintergrund:

Diese Assoziierungen werden im Endeffekt  in der Datei USRCLASS.DAT gespeichert, welche sich im Ordner “C:\Users\<UserName>\AppData\Local\Microsoft\Windows\“ befindet.

Da dieser Ordner von den auf dem Profile-Server zu übertragenen Komponenten ausgenommen ist, geht diese Datei nach der Anmeldung verloren (da das Profile, wie mit der Einstellung “Delete cached copies of roaming profiles” definiert, lokal gelöscht wird).

Die Datei USRCLASS.DAT befindet sich in dem Exclude-Bereich, da  die Einstellungen sehr System-Abhängig sind (in dem konkreten Fall würde es sonst vorkommen, das Datei-Assoziierungen auf Anwendungen zeigen, die ggf. auf anderen Servern nicht verfügbar sind bzw. es bei Überschneidungen zu Konflikten kommt).

Generell werden aus diesem Grund auch unabhängig von der Löschung der lokal gespeicherten Kopie des Profils diese Einstellungen nicht auf anderen Systemen übertragen.

Möglichkeiten, das Verhalten anzupassen:

Das Entfernen von „appdata\low” unter „ExcludeProfileDirs“ stellt keine gute Möglichkeit dar, da sich in diesem Ordner wesentlich mehr Unterordner befinden die bspw. als Cache fungieren.

Zusätzlich besteht keine Möglichkeit (via Bordmitteln), ausschließlich die Datei USRCLASS.DAT vom den ExcludeProfileDirs auszuschließen.

Eine funktionale Möglichkeit war das Hinzufügen der Dateierweiterung unter
„HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts”.

Beispiel:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.<FileExt>\UserChoice]
"Progid"="Applications\\MyApp.exe"

Alternativ besteht die Möglichkeit, diese Erweiterung auch bspw. über HKEY_CLASSES_ROOT zu setzen.

Beispiel:
HKEY_CLASSES_ROOT
   .myp
      (Default) = ApplicationVendor.MyProgram
   .myp-file
      (Default) = ApplicationVendor.MyProgram
   ApplicationVendor.MyProgram
      (Default) = MyProgram Application

Dieses Beispiel und weitere Möglichkeiten werden innerhalb des folgenden MSDN-Artikels weitergehend beschrieben:

File Types
https://msdn.microsoft.com/en-us/library/windows/desktop/cc144148(v=vs.85).aspx

Allgemeine Hinweise zu diesem Thema:

Unabhängig vom dem Thema File-Assoziierung besteht die Möglichkeit, mittels der GPO-Einstellung „Exclude directories in roaming profile“ weitere Ordner von der Übertragung auf dem Profil-Server  auszuschließen – Siehe hierzu https://msdn.microsoft.com/en-us/library/ms812015.aspx

Ich hoffe, dass Sie diesen Artikel hilfreich und / oder informativ fanden und würde mich über eine Bewertung von Ihnen freuen.

Ich wünsche alle Leserinnen und Lesern unseres Blogs ein schönes Weihnachtsfest und alles Gute für das Jahr 2012.

Matthias Meiling
Support Engineer - Platform Core