Logo faq-o-matic.net
Logo faq-o-matic.net

Schema-Versionen vergleichen

von veröffentlicht am21. Oktober 2007, 15:53 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Active Directory, AD-Schema, Downloads, Scripting   Translate with Google Translate Translate EN   Die angezeigte Seite drucken
Zuletzt aktualisiert: 7. Dezember 2011

In dem kürzlich hier erschienenen Artikel „Schema-Erweiterungen auffinden“ habe ich einen manuellen Weg beschrieben, mit dem sich Erweiterungen im Schema des Active Directory über einen Vergleich von zwei CSV-Exportdateien ausfindig machen lassen. Mit dem Skript „CompareSchemaCSV.vbs“ lässt sich dies nun automatisieren. Das Skript gibt es hier zum Download:

Download: Active Directory: Schema-Versionen vergleichen  Active Directory: Schema-Versionen vergleichen (2,0 KiB, 2.549-mal heruntergeladen, letzte Änderung am 21. Oktober 2007)

 

Update 7. 12. 2011: Wie ich gerade erfahre, gibt es im Lieferumfang aktueller Windows-Server ein Werkzeug, das sehr ähnlich vorgeht. Hier ein Blog-Artikel dazu vom AD-Team bei Microsoft:

[Determine Applied Schema Extensions with AD DS/LDS Schema Analyzer – Ask the Directory Services Team – Site Home – TechNet Blogs]
http://blogs.technet.com/b/askds/archive/2009/01/20/determine-applied-schema-extensions-with-ad-ds-lds-schema-analyzer.aspx

Vorbereitung

Genau wie bei der manuellen Methode müssen auch hier zwei CSV-Exportdateien des AD-Schema vorhanden sein. Die erste Datei stellt die Vergleichsgrundlage dar („Baseline“) und enthält in der Regel das Schema in einer Version, die bekannt ist (z.B. Windows Server 2003 R2 mit Exchange Server 2003). Die zweite Datei enthält einen aktuellen Export der zu untersuchenden Schema-Version. Ein Kommando, mit dem sich diese Exportdatei erzeugen lässt, ist das Folgende:

csvde -f „C:\data\schema-baseline.txt
-d „CN=Schema,CN=Configuration,DC=faq-o-matic,DC=net
-r „(|(objectClass=attributeSchema)(objectClass=classSchema))“
-l „name,whenCreated,whenChanged,description,mayContain,mustContain,
objectClass,objectCategory,attributeID,governsID,subClassOf,
isSingleValued,lDAPDisplayName“

Dieses Kommando muss in einer einzigen zusammenhängenden Zeile auf einem Windows-Server in einem CMD-Fenster ausgeführt werden. Der Dateipfad und der Domänenname (beide hier kursiv) müssen natürlich angepasst werden. Eine passende Baseline-Datei (für Windows Server 2003 R2, R2 mit Exchange 2003 sowie für Windows Server 2008) kann man bei uns auch herunterladen:

Download: AD-Schema-Export als Grundlage für Schema-Vergleiche  AD-Schema-Export als Grundlage für Schema-Vergleiche (137,8 KiB, 3.658-mal heruntergeladen, letzte Änderung am 17. Juli 2008)

Nun müssen die Speicherpfade beider Dateien in den Skriptcode eingetragen werden. Dazu öffnet man die Datei in einem Editor und passt die Zeilen 27 und 30 entsprechend an.

Ausführung

Das Skript wird in einem CMD-Fenster ausgeführt. Da es natürlich viel Text ausgibt, muss es mit „cscript.exe“ ausgeführt werden, ähnlich dem folgenden Kommando:

cscript C:\Pfad\CompareSchemaCSV.exe

Achtung: Das Skript nicht per Doppelklick oder ohne cscript ausführen, sonst gehen sehr viele Dialogboxen auf.

Nun vergleicht das Skript beide Exportdateien und gibt alle Zeilen auf der Kommandozeile aus, die in der zweiten Datei enthalten sind, aber in der ersten Datei fehlen. Als letztes wird die Zahl der gefundenen Unterschiede angezeigt.

© 2005-2019 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!