Zeitgesteuertes Aktivieren einer GPO


Wird eine GPO mit einer OU verknüpft, so ist sie sofort in diesem Moment gültig und aktiviert. In einer kleinen Umgebung wird das wohl kaum zu Fehlern führen, da GPOs normalerweise in dem Moment verknüpft werden, wo sie auch verwendet werden sollen.
Natürlich kann die GPO auch direkt über das Kontextmenü Deaktiviert werden, um ungewünschte Interaktionen zu vermeiden.

Stellen wir uns vor, daß wir eine Richtlinie haben, die erst am Montag Morgen für alle Benutzer und Computer gültig sein soll, praktisch mit Wochen- und Arbeitsbeginn. Jetzt wäre es denkbar, daß ich die Richtlinie am Freitag Abend um 17:00 aktiviere. Was ist aber, wenn zu diesem Zeitpunkt noch gearbeitet wird?
Das ein Administrator den Schlüssel zur Firma hat, oder über einen Remotezugriff auf das AD verfügt,  ist nicht immer gewährleistet. Wenn sein eigener Feierabend am Freitag beginnt, wird er wohl kaum Lust haben am Samstag, Sonntag oder Montag in der aller Frühe einen "Mausklick" auszuführen der vom Zeiteinsatz in keinem Verhältnis steht zum Aufwand, den er dafür betreiben muss.

Für so eine Konstellation oder Anforderung sollte man auf Scripte zurückgreifen. Das Thema Scripting ist nicht unbedingt das Lieblingsthema der Administratoren, aber für unser Beispiel muss man über keine großen Kenntnisse verfügen. Es gibt im WWW schon so viele vorgefertigte Scripte, die man selber nur noch ein wenig anpassen muss.


Beispielhaft möchte ich dieser Stelle 2 Quellen nennen:

Microsoft TechNet Script Center Sample Scripts: "The Portable Script Center"
http://www.microsoft.com/downloads/details.aspx?FamilyID=b4cb2678-dafb-4e30-b2da-b8814fe2da5a&DisplayLang=en

"Active Directory Cookbook", Author: Robbie Allen, von O'Reilly & Associates, ISBN 0-596-00464-8
http://rallenhome.com/books/adcookbook/code.html


Aus der letzt genannten Quelle stammt auch das von mir hier verwendete Script um eine GPO per "Geplante Tasks" zeitgesteuert mit einer OU zu verlinken und den gewünschten Effekt: "Aktivierung der Richtlinie Montag morgens um 6:00" zu realisieren.
Das Script ist leicht modifiziert, damit es meiner aktuellen Umgebung entspricht (Die Anpassung muss immer erfolgen) und es sind die Messageboxes auskommentiert, die sonst den automatisierten Ablauf des Scripts verhindern würden, da sie p er "OK" bestätigt werden müssen.

Original Quellcode: http://rallenhome.com/books/adcookbook/src/09.12-create_gpo_link.vbs.txt
Angepasstes Script: CreateGPOLink.vbs.txt (auskommentierte Messageboxes)


In jedem Fall müssen 3 Variablen gefüllt werden, damit das Script weiss "was,wo, womit" verknüpft werden soll. Dieser Bereich ist im ersten Abschnitt des Scripts hinterlegt:

' ------ SCRIPT CONFIGURATION ------
strGPO = "Die neue Richtlinie"    ' Name der Richtlinie
strDomain = "gpo-5.local"        ' Name der Domäne
strOU
= "ou=MeineFirma,dc=gpo-5,dc=local" ' CN der OU
intLinkPos = -1 ' set this to the position the GPO evaluated at
' a value of –1 signifies appending it to the end of the list
' ------ END CONFIGURATION ---------

Die Anpassung von
intLinkPos würde in dem Moment eine Bedeutung erlangen, wo die Reihenfolge der einzelnen an dieser OU verknüpften Richtlinien verändert werden soll. Beim voreingestellten Wert, wird die GPO als letzte ausgeführt. Sie ist somit die hierarchisch niedrigste und damit die zuletzt angewandte.


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