Mandatory V6 Profil erstellen - geeignet ab Windows Server 2016 / Windows 10
Aus znilwiki
Changelog:
- 22.11.2018: Erste Version, noch viele Screenshots von der V2 Version verwendet
Vorwort
Ich habe Testweise auch einfach mal ein vorhandenes V2 Profil (von Windows Server 2012R2) in V6 umbenannt - lief auch ohne Probleme.
Stand jetzt zickte das Startmenü herum wenn ich ich nach dieser Anleitung ein V6 mit dem Default-Profil eines 2016er Servers gebaut habe. Ich untersuche noch warum.
Mit dem Umbenannten V2 Profil funktioniert es ohne Probleme.
Erklärungen zu V6 Profilen
Ab Windows Vista gab es V2 Profile. Seit Windows Server 2016 sind es V6 Profile. Die Bezeichnung leitet davon ab, das Windows von selbst an die servergespeicherten Profile ein .V6
anhängt.
Die Profile werden bei diesen Systemen unter
C:\Users
bzw. scheinbar (je nach eingestellter Ansicht im Explorer)
C:\Benutzer
abgelegt. Wenn ihr per Explorer im C:\Users
Ordner seit dann klickt doch mal in die Adressleiste - da seht Ihr dann den echten Namen / Pfad.
Ein typisches Profil nach der ersten Anmeldung sieht zum Beispiel wie folgendes aus:
Diese Ansicht wurde mittels der Optionen "Versteckte Dateien" und "Systemdateien" anzeigen gemacht.
Die Explorer Adressleiste zeigt den vermeintlichen Pfad an:
C:\Users\Bernh
ist richtig,
Dieser PC - (C:) SSD_256GB - Benutzer - Bernh
ist nur eine Darstellung.
Auch andere Ordner werden "falsch" angezeigt. Der Ordner "Eigene Bilder" heißt in Wirklichkeit "Pictures". Windows übersetzt die Ordnernamen in die jeweils für den Benutzer eingestellte Sprache. In Wirklichkeit werden aber in allen Sprachversionen immer die englischen Ordnernamen genutzt (und das ist ein Feature, kein Bug!)
Diese Darstellungsänderung der Ordner beruht auf einer Desktop.ini
im jeweiligen Ordner.
So findet sich im Ordner "Eigene Bilder", der ja in Wirklichkeit den Namen "Pictures" hat, eine Desktop.ini
Datei mit folgenden Inhalt:
[.ShellClassInfo] LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21779 InfoTip=@%SystemRoot%\system32\shell32.dll,-12688 IconResource=%SystemRoot%\system32\imageres.dll,-113 IconFile=%SystemRoot%\system32\shell32.dll IconIndex=-236
Auch ohne näher darauf einzugehen, kann man erkennen das hier auf andere Icons und einen anderen Namen verwiesen wird.
Schauen wir uns den Ordner nochmals in einer Eingabeaufforderung an:
Wir sehen z.B. den Ordner "AppData" – und das "Application Data" (=ehemals Anwendungsdaten) nur auf einen Unterordner innerhalb von AppData verweist.
Neben der "NTUSER.DAT" gibt es weitere Dateien die mit diesen Namen beginnen und mit dieser Verknüpft sind. Diese werden, falls gelöscht, automatisch von Windows neu erstellt. Windows lenkt Änderungen an der Registry des Benutzers zunächst auf diese Dateien um. Die Änderungen werden dann zu einem späteren Zeitpunkt in die eigentliche "NTUSER.DAT" geschrieben. Dieses gehört zu den Maßnahmen mit denen Microsoft versucht hat das Problem mit defekten Benutzerprofilen zu beheben.
Für den Benutzer geschieht dieses Transparent und hat damit keinen Einfluss auf die Funktion von JumpingProfiles. Auch ein Löschen bzw. ein "nicht vorhanden sein" im Mandatory Profil hat keine negativen Folgen.
Auch dieses Benutzer-Profil ist aus dem "Default Profil" entstanden:
C:\Users\Default
Wir können sehen das hier noch nicht vollständig der Mechanismus der anderen Darstellung der Ordner greift. Die dazu nötigen Desktop.ini
werden zum Teil erst beim ersten Gebrauch angelegt.
Es gibt auch ein paar Spezielle Ordner bzw. Verknüpfungen bei denen die Darstellung nicht über eine Desktop.ini
verändert wird sondern über den Namen. Dazu wird an dem Ordnernnamen eine spezielle GUID in { }
angehängt - doch diese spielen für die Erstellung des Mandatory-Profils keine Rolle.
Mandatory Profil für Profilversion 2 anlegen
Ordner anlegen
Erstellen Sie an zentraler Stelle im Netzwerk, z.B. unterhalb der gleichen Freigabe unter der sich auch schon die JumpingProfiles Installation befindet, einen neuen Ordner mit passender Bezeichnung:
Hängen Sie an den Verzeichnisnamen unbedingt ein .V6
an!
Wenn jedoch später der Pfad verwendet wird, z.B. bei einer Angabe in den Benutzereinstellungen bzw. in einer Gruppenrichtlinie (etwa den Pfad des Terminalserverprofiles), muss das .V6
jedoch unbedingt weglassen werden. Windows hängt das .V2
automatisch an.
Ordner Grundstruktur erstellen / prüfen
Verwendet nachfolgend die Ordner und Dateien von einem bei euch vorhandenen, möglichst fertig eingerichteten Terminalserver / Windows PC!
Kopieren folgende Dateien/Ordner:
- Die Datei
NTUSER.DAT
- Den Ordner
AppData
- Weitere Ordner / Dateien nach Ihrer Wahl und Bedarf
von eurem Grundlagenprofil in diesen neuen Ordner:
Überprüft unbedingt die Ordner so das mindestens folgende Ordnerstruktur vorhanden ist:
Eventuelle Unterordner und Dateien dieser im Bild aufgeführten Ordner löscht Ihr!
NTUSER.DAT umbenennen
Benennt die Datei NTUSER.DAT
um in NTUSER.MAN
Ordnerrechte setzen
Ruft die Eigenschaften des übergeordneten Ordners auf, hier im Beispiel
\\Servername\JP$\MandatoryProfile.V2
Vererbung deaktivieren
Klickt im unteren Bereich auf Erweitert:
Klickt auf ggf. Berechtigungen ändern(eventuell gibt es eine Meldung der UAC Kontrolle)
Entfernen Sie den Haken bei der ersten Option:
Es erscheint ein neuer Dialog:
Wählt Hinzufügen:
Benutzerrechte setzen
Entfernt alle Rechteinhaber bis auf die Gruppe „Administratoren“.
Eventuell ist „SYSTEM“ nicht vorhanden, wird aber während des Entfernens automatisch hinzugefügt:
Klickt auf OK (bei aktivierter UAC Kontrolle ggf. 2x)
Klickt auf Bearbeiten:
Klickt auf Hinzufügen:
Und fügt die Gruppe der „Authentifizierten Benutzer“ bzw. „Authenticated Users“ hinzu:
Kontrolliert ob die neu hinzugefügte Gruppe mindestens folgende Rechte hat:
Lesen, Ausführen Ordnerinhalt anzeigen Lesen
Klickt auf OK :
Klickt nochmals auf Erweitert :
Klickt Sie auf Berechtigungen ändern… :
und wählt die 2. Option:
Klickt auf OK -> Es erscheint ein neues Meldungsfenster:
Klickt auf Ja und die Rechte werden übernommen.
Schließt alle Fenster mit OK .
Hinweis 1: Bei Bedarf fügt weitere Benutzer / Gruppen hinzu.
Hinweis 2: Ihr könnt die Gruppe „Authentifizierte Benutzer“ ggf. auch durch eine andere Gruppe nach Bedarf ersetzen.
Registry Werte im Mandatory bearbeiten
Mandatory Profil laden
Startet den Registry Editor: (Start – Ausführen – regedit.exe):
Und bestätigt ggf. die UAC-Kontrolle:
Markieren Sie den Schlüsselbaum HKEY_LOCAL_MACHINE
:
Wählt aus dem Menü „Datei“ die Option „Struktur laden“:
Navigiert zur NTUSER.MAN
in dem von Euch erstellten Ordner „MandatoryProfile.V2“ und Öffnen diese.
Es erscheint ein Dialog zur Namensvergabe:
Gebt MandatoryProfil. ein.
Nach dem Klick auf OK und dem Erweitern des Schlüssels HKEY_LOCAL_MACHINE
...
könnt Ihr nun die Struktur der NTUSER.MAN
unterhalb von
HKEY_LOCAL_MASCHINE\MandatoryProfil
sehen.
NTUSER.MAN
auf Basis eines „Default User“ genommen. Dies habe ich gemacht um notwendige Arbeiten zu demonstrieren. Bei Verwendung des „Default User“ sind viele der Werte nicht vorhanden, es sollten aber trotzdem alle kontrolliert werden.
Berechtigungen setzen
Klickt mit der rechten Maustaste auf den Schlüsselnamen "MandatoryProfil" und wählt dann Berechtigungen...:
Entfernt den "Users" bzw. "Benutzer" Eintrag
Fügt dann die "Authentifizierten Benutzer" hinzu mit den Rechten "Vollzugriff" und "Lesen":
Klickt auf Erweitert:
Und übernehmt den Besitz aller Schlüssel indem Ihr oben bei Besitzer auf "Ändern" geht:
Danach ersetzen wir die Rechte in allen Unterschlüsseln:
Setzt den Optionshaken wie im vorstehenden Bild. Klickt auf OK.
Den nachfolgenden Warndialog mit Ja bestätigen:
Schließt den Dialog mit OK .
Schlüssel und Werte kontrollieren
Identities
Navigiert zum Schlüssel
HKEY_LOCAL_MACHINE\MandatoryProfil\Identities\
Und löscht alle eventuell vorhandenen Unterschlüssel (Unterordner).
Vorher:
Nacher:
Und ggf. den Schlüssel „Default User ID“ und den Inhalt des Schlüssels „Last Username“.
Protected Storage System Provider
Navigiert zum Schlüssel:
HKEY_LOCAL_MACHINE\MandatoryProfil\Software\Microsoft\Protected Storage System Provider\
Und löscht alle eventuell vorhandenen Unterschlüssel (Unterordner):
Vorher:
Nacher:
Schlüssel für Drucker
Prüft ob die 3 Schlüssel
HKEY_LOCAL_MACHINE\MandatoryProfil\Software\Microsoft\Windows NT\CurrentVersion\Devices\ HKEY_LOCAL_MACHINE\MandatoryProfil\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts\ HKEY_LOCAL_MACHINE\MandatoryProfil \Software\Microsoft\Windows NT\CurrentVersion\Windows\
Vorhanden sind.
Löscht ALLE(!) Schlüssel / Werte (außer Standard) unterhalb von
HKEY_LOCAL_MACHINE\MandatoryProfil\Software\Microsoft\Windows NT\CurrentVersion\Devices\ HKEY_LOCAL_MACHINE\MandatoryProfil\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts\
Wenn der Schlüsselname links markiert ist darf es also rechts keinen Wert mehr geben:
Leert den Wert Device
unterhalb von
HKEY_LOCAL_MACHINE\MandatoryProfil \Software\Microsoft\Windows NT\CurrentVersion\Windows\
sofern dieser einen Wert hat (leeren, nicht löschen!)
Es ist wichtige das die 3 Schlüssel
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices\ HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts\ HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\
Im späteren Profil vorhanden sind. Fehlen diese kann es zu erheblichen Verzögerungen beim Zuweisen/Mappen von Druckern kommen!
Struktur wieder entladen
Markiert nun wieder den Stamm der geladenen Struktur:
Und wählt im Menü Datei - Struktur entfernen:
Nun kann der Registry Editor beendet werden, das Profil ist bereit für den Einsatz.
Aufräumen
Löscht die Log und REGTRANS Dateien aus dem Ordner wieder:
Die Text-Datei lege ich persönlich gerne mit in das Verzeichnis. Sie dient mir als Marker und Kontrolle ob das richtige Profil gezogen wurde.
Alles was Ihr in diesen Ordner packt sollte sich später auf dem Terminalserver im lokalen Benutzerprofilverzeichnis wiederfinden.