CheckDuplicateExternalSID

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der �bernahme.

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Einsatzbereich

Wie Sie von den Seiten Exchange 2000 mit Windows NT4 und Exchange 2000/2003 Disabled Account wissen, können in Exchange 2000/2003 Benutzerkonten mit Exchange Postfach deaktiviert werden werden, um dann �ber das Feld "msExchMasterAccountSID" ein anderes Konto aus einer anderen Domäne die Berechtigungen auf das Postfach zu geben.

Aber Programme, Skripte und Einstellungen können manchmal fehlerhaft sein, so dass es durchaus sein kann, dass diese Konfiguration nicht "sauber" ist. Dieses Script gibt alle Objekte aus, bei denen die gleiche SID bei mehreren Konten verwendet wird.

Eine solche Situation muss nicht immer gleich ein Fehler sein, So sind die "SystemMailboxen" pro Postfachspeicher als auch die �berwachungspostfächer von MOM deaktivierte Benutzer mit zugeordnetem externen Konto.

Normalerweise können Sie aber eine solche Konfiguration nicht mit der MMC für Benutzer und Computer konfigurieren, sondern nur mit eigenen Skripten oder direkt per LDAP

Funktion

Das Script findet alleine den GC und exportiert alle Benutzerobjekte bei denen das Feld "msExchUserAccountControl=2" ist und Inhalte in msExchMasterAccountSid stehen.

Von der Abfrage wird ein Dictionary-Object gefällt, im dem für jede SID der distinguishedname-Wert der entsprechenden Objekts hinzugefügt wird.

Nach der Verarbeitung aller Objekte durchläuft eine Schleife alle Werte dieses Dictionary und gibt diese als XML-Datei aus. Passend zur XML-Datei wird Natürlich ein XSL-Stylesheet zur Anzeige geschrieben.

Download und Start

Das Script ist wie viele andere im Bereich Franks Tools ein VBScript, welches Sie am besten aus einer DOS-Box mit "CSCRIPT.EXE" starten.

checkduplicateexternalsid.1.1.vbs.txt

Bitte als VBS-Datei in einem eigenen leeren Verzeichnis speichern, eine DOSBOX öffnen und im dem Verzeichnis aufrufen mit:

CSCRIPT CheckDuplicateExternalSID.1.1.vbs

Ausgabe

Im aktuellen Verzeichnis wird sowohl eine Protokolldatei für eie Fehlersuche als auch eine Ausgabe-XML-Datei angelegt.

In meiner einfachen TestUmgebung kann ich diesen "Fehler" nur provozieren, indem ich zwei Postfachspeicher anlegen und starte. Die Ausgabe ist relativ unspektakulär:

Anhand des DN können Sie die fraglichen Objekte dann mit ADSIEDIT oder anderen Tools genauer untersuchen.

Weitere Links