GPP - Group Policy Preferences / Gruppenrichtlinien Einstellungen
oder auch: 10 Dinge, die Group Policy Preferences besser lösen als dein bisheriges Skript!

Autor: Florian Frommherz


Überblick
Seien wir mal ehrlich: manche administrativen Tätigkeiten bereiten uns Bauchschmerzen, weil sie entweder nur schwierig bis gar nicht zu lösen sind oder mit viel hässlichem Skripting oder dem Import von Registry-Exports verbunden waren und ADM-Templates nicht zur Verfügung stehen.

Gut dass es Group Policy Preferences gibt, 21 neue Client Side Extensions, die vieles an Funktionalität, die bisher mit Skripten erstellt werden musste, nun ermöglichen. Alles was dafür notwendig ist, hat Mark bereits auf http://www.gruppenrichtlinien.de/index.html?/Vista/RSAT_GPMC.htm erklärt. Grundlegend ist es notwendig, die CSEs auf alle Clients zu laden (herunterladen und installieren) und eine Managementstation auszuwählen. Das kann entweder ein Windows Server 2008 sein (Memberserver reicht) oder eine Vista SP1 Box mit SP1 installiert. Es ist keine Schemaerweiterung notwendig oder ein DC mit Windows Server 2008 zwingend erforderlich.

Um keine Missverständnisse aufkommen zu lassen: Dieser Artikel möchte zeigen, welche Möglichkeiten Group Policy Preferences bieten und so sie eingesetzt werden können, um umständliche Skripte zu ersetzen. Entlang des Weges werden nicht nur die Einstellungen erklärt, sondern hin und wieder auf Funktionen, die die Preferences so stark machen. Wer seine Skripte nicht hergeben will, darf sie behalten!


Laufwerkszuweisungen / Drive mappings

Eines der Dinge, die wohl schon so ziemlich jeder Administrator in seiner Laufbahn bereits erstellt hat, sind Laufwerkszuweisungen. Laufwerkszuweisungen helfen Anwendern, Netzwerklaufwerke immer wiederzufinden. Dabei werden per Skript Laufwerke auf Servern, wie beispielsweise "\\bananas\wichtige Dokumente" mit einem speziellen Laufwerksbuchstaben verbunden, damit Benutzer die Dokumente immer unter demselben Laufwerk im Arbeitsplatz finden können. Tolle Sache… nur muss man das bisher skripten. Auf den ersten Blick recht einfach, denn

NET USE U: \\bananas\wichtige Dokumente /persistent:no

Ist eigentlich alles was wir in einem Skript brauchen, um die Bananas-Dokumente nach U: zu mappen und sie Benutzern bereitzustellen. Eigentlich gar nicht so schwer. Richtig wild wird es aber dann, wenn es sich um mehrere Freigaben handelt, die dann auch noch nach bestimmten Kriterien verbunden werden sollen – wie etwa Gruppenmitgliedschaften oder Client-Betriebssystemen. Schüttel das mal aus dem Ärmel…

Hier helfen die Preferences. Unter Benutzerkonfiguration\Einstellungen\Windows-Einstellungen\Laufwerkszuordnungen finden wir die Laufwerks-Preferences. Mit „Neu“ erstellt man ein neues Laufwerksmapping. Wer Preferences noch nicht benutzt hat merkt schnell, dass die grafischen Oberflächen der Preferences sehr einfach zu verstehen sind, teilweise sogar fast identisch aussehen wie die Konfigurationsoberflächen der Windows-Einstellungen, die man gerade zentral verteilen möchte.




Die Einstellungen für das Mapping selbst sich ähnlich unspannend wie das Skript oben. Interessant wird es bei den Sondereinstellungen: hier hilft „item-level targetting“ oder zu deutsch: „Zielgruppenadressierung auf Elementebene“. Im Reiter „Gemeinsam“ gibt es dazu eine Checkbox, die zuerst aktiviert und danach der Button dazu ausgewählt werden muss. Wir finden eine Art Formeleditor, mit dem wir eine Formel erstellen können, für die unsere Preferenceeinstellung gelten soll. Unter „Neues Element“ finden wir Dinge, nach denen wir filtern können:




Mit etwas Geschick können wir uns einen Filter zusammenbasteln, der genau unseren Bedürfnissen entspricht: etwa nach Sicherheitsgruppen oder Betriebssystemversionen.


Energieoptionen/-schema in Windows XP
Energieoptionen mit Gruppenrichtlinien zu verteilen geht nicht wirklich toll. Das was möglich ist, ist meistens nicht ausreichen. Auch das freie Tool „powercfg“ liefert nicht viel an Funktionalität nach (http://technet.microsoft.com/en-us/library/cc748940.aspx). Wieder helfen uns die Preferences, die in einer bekannten UI alle Einstellungsmöglichkeiten von Windows XP bereithalten: Computerkonfiguration\Einstellungen\Systemsteuerungseinstellungen\Energieoptionen. Unter „Neu“ können wir zwischen „Energieoptionen“ und „Energieschema“ wählen.




Zu beachten sind die grünen Linien, die einige der Optionen unterstreichen. Was sie zu bedeuten haben, steht im Kasten am Schluss. Wichtig ist, dass alle Optionen, die wir verteilen wollen, mit grünen Linien unterstrichen sind.


Ordneroptionen
Versteckte Ordner sichtbar machen? Systemdateien vor den Benutzern nicht verstecken lassen? Gar nicht so einfach, wenn man nicht unbedingt ein allgemeines Profil ausrollen will, indem diese Einstellungen vorkonfiguriert sind oder einen Registry-Export hat, den man per Skript importieren will. Für Windows XP und Windows Vista lassen sich separate Ordnereinstellungen definieren: Per Computerkonfiguration\Einstellungen\Systemsteuerungseinstellungen\Ordneroptionen“ kommt man zur UI.
Auch hier gibt es nicht viel zu sagen: wer den Schmerz kennt, den man beim Konfigurieren der Ordneroptionen teilweise bekommen kann, wird sich über diese Optionen nur so freuen!


Einstellungen für den Internet Explorer
Der Internet Explorer ist ein leidiges Thema. Nicht nur die beiden Konfiguratonsmodi „Internet Explorer Wartung“ und „Internet Explorer Einstellungen“ sind schwierig zu verstehen, auch die Anwendung oder nicht-Anwendung von Einstellungen ist teilweise… ein Kapitel für sich. Gerade auch vor dem Hintergrund, dass die Verarbeitungsengine für die IE-Einstellungen aus dem IEAK 4 rühren – und das hat schon ein paar Jahre auf dem Buckel.

Keine Krämpfe mehr, wenn man mehrere Homepages verteilen möchte oder erweiterte Einstellungen definieren möchte: Preferences schaffen das ohne Probleme: Benutzerkonfiguration\Einstellungen\Systemsteuerungseinstellungen\Interneteinstellungen.






Wichtig zu beachten ist auch hier wieder, die Einstellungen entsprechend zu aktivieren, indem die grüne/rote Linie unter der Option aktiviert wird. Siehe letzter Abschnitt.


Lokale Administratorpassworte setzen/ Benutzer und Gruppen administrieren
Es gibt viele Möglichkeiten, lokale Administratorkonten zu bearbeiten und neue Passworte zu setzen. Die Frage ist nur: wie gut sind sie? Die einfachste Variante ist, ein Startup-Skript zu definieren. Doch wie es mit Skripten so ist, werden können sie von allen Benutzern gelesen werden: das Passwort darf also nicht im Klartext dort stehen! So kann man entweder den Microsoft Script Encoder benutzen oder aber ein Tool verwenden (zum Beispiel pspasswd http://technet.microsoft.com/en-us/sysinternals/bb897543.aspx), das keine Ausführung auf der lokalen Maschine sondern von einer zentralen Station aus unterstützt. Für den letzteren Fall müssen die Zielmaschinen natürlich an sein, wenn das Tool gestartet wird.

In unserem Fall können wir GP Preferences verwenden, das lokale Adminpasswort neu zu setzen. Das Adminpasswort wird dabei zwar auch mit der Preference-XML auf dem SYSVOL gespeichert, ist aber mit einem 256bit AES-Key verschlüsselt, was uns schon etwas Sicherheit bringt. Per Computerkonfiguration\Einstellungen\Systemsteuerungseinstellungen\Lokale Benutzer und Gruppen kann beispielsweise das Administratorpasswort geändert werden. Per Rechtsklick, „Neu“-> „lokaler Benutzer“ öffnet sich die UI.




Wie im Bild konfiguriert, kann aus dem Dropdownmenü der „Administrator (integriert)“ gewählt werden, ein neues Passwort gewählt werden und die notwendigen Kontoeinstellungen „Passwort bei nächster Anmeldung ändern“, „Kennwort läuft nie ab“, „Konto ist deaktiviert“ sollten korrekt eingestellt werden. Beim nächsten Zyklus übernehmen die Clients die neuen Administratorkonten. Bitte nicht vergessen, Dienste und Applikationen entsprechend neu zu konfigurieren, bevor die Administratorpassworte umgestellt werden.


Ländereinstellungen
Ein weiteres Thema, wofür es bis heute keinen Satz von ADM Templates gibt und was oftmals nur dürftig geskriptet wird: Ländereinstellungen. Wer beim Erstellen der Installationimages oder bei unbeaufsichtigten Installationen nicht aufpasst, kann schnell Probleme bekommen, wenn das falsche Datumslayout oder die falschen Kommatrennzeichen verwendet werden. Die Kollegen in der Schweiz verwenden oftmals Punkte da, wo wir Kommata verwenden. Hier gilt es also zu differenzieren,
 Benutzerkonfiguration\Einstellungen\Systemsteuerungseinstellungen\Regionale Einstellungen.



Wem kommt die UI bekannt vor? Auch hier gilt wieder: um Optionen nutzen zu können muss sichergestellt sein, dass die Linie unter der Option auf „grün“ gestellt ist. Siehe letzter Punkt.


Dateien und Ordner auf Clients erstellen
Benutzerkonfiguration\Einstellungen\Windows-Einstellungen\Dateien und Benutzerkonfiguration\Einstellungen\Windows-Einstellungen\Ordner
bieten die Möglichkeit, Dateien und Ordner auf den Clientmaschinen zu erstellen. Dabei können Dateien von Quelllaufwerken wie Dateifreigaben kopiert und mit den Attributen „Archiv“, „Schreibgeschützt“ und „Ausgeblendet“ versehen werden. Ordner und Dateien können, sollten sie am Zielsystem vorhanden sein, gelöscht werden.

Um eine Konfigurationsdatei zu ersetzen, braucht es jetzt kein Skript mehr. Schriftdateien oder aktualisierte HOSTS-files können einfach über Preferences verteilt werden. Computerstart-Skripte, die zuerst mit IF EXIST… prüfen, ob eine Datei verhanden ist oder gar welches Datum sie haben, sind vorbei. Mit Preferences und ein wenig Adressierung auf Einstellungsebene lässt sich das bewerkstelligen:






Es kann geprüft werden, ob Dateiversionen übereinstimmen und ob Dateien und Ordner existieren. Hierfür kann das Element „Dateiübereinstimmung“ aus dem Zielgruppenadressierungseditor verwendet werden.


Verknüpfungen auf Clientrechnern
Ich selbst hab‘ mich schon einige Male geärgert, Skripte erstellen zu müssen, die auf Clientrechnern Verknüpfungen zu Intranet-Links und Programmen erstellen, verändern oder entfernen sollten. Wem es genauso geht, darf hier gerne weiterlesen, GPPs sind die Rettung: Benutzerkonfiguration\Einstellungen\Wndows-Einstellungen\Verknüpfungen!

Preferences lassen in den folgenden Orten Verknüpfungen erstellen:


Seht es euch genau an: In der Liste stehen wirklich „Schnellstart-Symbolleiste“, „Senden an“ und „Explorer-Favoriten“. Manch einer mag da etwas neutraler sein – ich persönlich finde das GEIL. Nach langem hin- und her endlich die Möglichkeit, Favoriten anständig zu verwalten, die Schnellstartleiste zu verändern und das „Senden an“-Menü zu customizen, nachdem etliche in den Newsgroups gefragt haben...



Wer lustig ist, kann sogar noch eigene, hübsche Icons, entweder aus der SHELL32.DLL von Windows oder aus dem Eigenbau für die Verknüpfungen verwenden. Cool!


Drucker verbinden
Wenn du sonst keine Probleme hast, schaff dir Printer Deployment von Windows Server 2003 R2 an – dann hast du welche  Eine der weniger durchdachten Lösungen die einem mehr Fragen offen halten als die Antworten geben. Schon mal damit versucht, einen Standarddrucker bereitzustellen? Schon mal versucht, einzelne Drucker zu entfernen? Oder das Logging mal sinnvoll zu verwenden? Etwas Sarkasmus/Ironie darüber gibt’s hier: http://www.gruppenrichtlinien.de/index.html?/HowTo/Bereitgestellte_Drucker.htm

Die Standardantwort aller Beteiligten in den Newsgroups zu Problemen mit den „Bereitgestellten Druckern“ ist: „Vergiss das _Feature_ und bau dir ein Skript oder nutze die Preferences“. Während Skripting hierfür wirklich eine gute Wahl ist, es gute Dokumentationen zur printui.dll
 (http://www.microsoft.com/windowsserver2003/techinfo/overview/printuidll.mspx.htm, http://www.gruppenrichtlinien.de/index.html?/HowTo/rundll32_printui.htm ) gibt und es recht weit verbreitet ist, können Preferences das Ganze ohne Skriptingerfahrung lösen:
Benutzerkonfiguration\Einstellungen\Systemsteuerungseinstellungen\Drucker.



Es können freigegebene, TCP/IP- und lokale Drucker verbunden werden. Auch an die Option „Als Standarddrucker verwenden“ wurde gedacht . Wers ganz hart möchte, kann über die Zielgruppenadressierung noch etwas genauer definieren, damit jeder seinen Lieblingsdrucker erhält:



Wer das übrigens innert eines Arbeitstages per Skript realisieren kann, darf sich bei mir melden und sich meines tiefsten Respektes sicher sein!


Geplante Tasks erstellen
Meine Standardantwort auf die Frage „Wie kann ich Task XY/Programm XY per Gruppenrichtlinien einmal in der Woche ausführen?“ ist: „Bau dir ein Skript mit at.exe oder besser noch schtasks.exe und erstelle einen scheduled task auf der Maschine, der ein bestimmtes Skript, das du ebenfalls auf einen Server legst, ausführt“.
Erstelle ein Skript, das den Computer anweist, eine Geplante Aufgabe zu erstellen, die dann ein Skript aufruft. Hmm.. zugegeben, bis zu den Preferences ein wirklich guter Ansatz. Mit Preferences geht’s einfacher:

Benutzerkonfiguration\Einstellungen\Systemsteuerungseinstellungen\Geplante Tasks.



Im Reiter „Zeitplan“ und „Einstellungen“ lassen sich weitere Konfigurationen vornehmen, beispielsweise wann und wie oft der Task durchgeführt werden soll und ob er durchgeführt werden soll, wenn die Zielmaschine auf Akkubetrieb läuft:







Grüne und rote Linien unter den Optionen?
Sicherlich sind die grünen und roten Linien in den Einstellungsseiten der Preferences aufgefallen, die manche Optionen unterstreiche. Die Linien dienen nicht zur Optik, sondern haben eine Bedeutung: Sie bestimmen, welche Optionen letztlich vom Client übernommen werden und welche nicht. Eine grüne Linie bedeutet, dass der Client die Option übernimmt, eine rote, gestrichelte Linie bedeutet, dass diese Option nicht übernommen wird. Wir können auf diese Weise gezielt Einstellungen verteilen, ohne etwa durch lokale Administratoren oder in anderen Richtlinien gesetzten Einstellungen anders konfigurierte Optionen zu überschreiben. Nur das, was als „grün“ markiert ist, wird auch vom Client übernommen.
Wie kann ich die Markierung ändern? Hierfür gibt es die Funktiontasten F5, F6, F7 und F8.

F5 – alle Optionen aktivieren
F6 – gerade angewählte Option aktivieren


F7 – gerade angewählte Option deaktivieren
F8 – alle Optionen auf der Seite deaktivieren.


Dieses Feature ist leider momentan etwas schlecht dokumentiert, wird aber von Microsoft in naher Zukunft besser publiziert. Grund dafür ist, dass ein Teil der Preferences, die Applikationserweiterungen eine genaue Erklärung dieser Funktiontasten beinhalteten, diese aber bisher nicht mit den Preferences veröffentlicht wurden. Die Hilfe gibt zwar Auskunft über dieses Feature, das TechNet-Hilfe lässt aber bisher noch zu wünschen übrig.


Fazit
Für wenig Geld und wenig Deploymentarbeit bekommt man eine ganze Reihe coole Einstellungen, mit denen man sich das unter Umständen schwere Skriptingleben ersparen kann. Dass die Möglichkeiten der Preferences mit diesen zehn Einsatzszenarien zur „Skriptbekämpfung“ noch nicht ausgeschöpft sind, sollte nahe liegen. Ein Blick in die umfangreichen Einstellungsmöglichkeiten sollte es beweisen.


(c) 2003 - heute, Mark Heitbrink, weitere Informationen unter WebSite-Info\Copyright