Suche nach einer objectGUID in AD

8

Ich verwende den Active Directory Explorer von Mark Russinovich. Es ist ein großartiges Werkzeug.

Ich verwende es, um durch das aktive Verzeichnis zu navigieren, um sicherzustellen, dass mein Programm, das DirectorySearcher von .NET verwendet, korrekte Daten zurückgibt.

Etwas passiert jedoch, wenn ich versuche, in meinem Programm mit DirectorySearcher nach objectGUID zu suchen, wenn ich die tatsächliche GUID als String übergebe, gibt es nichts zurück, wo ich wie Active Directory Explorer , wenn ich

hinzufüge

objectGuid mit dem Wert f8d764ff-9a6a-418e-a641-b6f99661a8d5, dessen Suchklausel lautet: (objectGUID = \ FFd \ D7 \ F8j \ 9A \ 8EA \ A6A \ B6 \ F9 \ 96a \ A8 \ D5 *)

Wie mache ich das für directorySearcher in meinem Programm, ich vermute, es ist eine Oktett-String-Sache, aber ich kann es nicht herausfinden.

    
Matt 09.10.2009, 19:23
quelle

3 Antworten

10

Die Foren , die das ausgezeichnete Das .NET-Entwicklerhandbuch für die Programmierung von Verzeichnisdiensten (Joe Kaplan / Ryan Dunn) ist eine ausgezeichnete Quelle für solche Informationen.

Sehen Sie sich diesen Thread mit dem Titel an. Suchen Sie das Objekt mithilfe der objectGuid-Eigenschaft , die zeigt, wie Sie ein " reguläres "GUID zum S.DS" OctetString "Format.

%Vor%

Dies könnte durch die Verwendung eines StringBuilders leicht optimiert werden, anstatt einen String hintereinander zu verketten - aber es scheint ansonsten ziemlich einfach zu sein.

Hoffe, das hilft.

Marc

    
marc_s 09.10.2009, 19:43
quelle
3
%Vor%     
Ilya Klementiev 11.02.2013 05:49
quelle
1

Um einen von ADExplorer verwendbaren Oktett-String zu erhalten, wenden Sie diese Schritte auf den GUID-String an:

  • Zuerst die GUID in Großbuchstaben:

F8D764FF-9A6A-418E-A641-B6F99661A8D5

  • teile es auf jedem Strich in fünf Teile:

F8D764FF, 9A6A, 418E, A641, B6F99661A8D5

  • Teilen Sie jeden Teil in Bytes (je zwei Hex-Ziffern):

{F8, D7, 64, FF}, {9A, 6A}, {41, 8E}, {A6, 41}, {B6, F9, 96, 61, A8, D5}

  • Vertausche die Bytes der ersten drei Teile:

{FF, 64, D7, F8}, {6A, 9A}, {8E, 41}, {A6, 41}, {B6, F9, 96, 61, A8, D5}

  • missachte die Einteilung in Teile:

FF, 64, D7, F8, 6A, 9A, 8E, 41, A6, 41, B6, F9, 96, 61, A8, D5

  • fügt jedem Byte einen Backslash voran:

\FF, , \D7, \F8, A, A, E, , \A6, , \B6, \F9, , , \A8, \D5

  • Verkettet die Bytes:

\FF\D7\F8AAE\A6\B6\F9\A8\D5

    
Michel de Ruiter 19.08.2014 15:44
quelle