J'utilise le Explorateur Active Directory de Mark Russinovich. C'est un excellent outil. P>
Je l'utilise pour naviguer pour naviguer Active Directory pour vous assurer que mon programme utilise DirectorySearcher à partir de .NET renvoie des données correctes. P>
Quelque chose arrive cependant, lorsque j'essaie de chercher à l'intérieur de mon programme avec DirectorySearcher pour ObjectGuid, si je passe dans le GUID réel en tant que chaîne, cela ne renvoie rien, où j'utilise Explorateur Active Directory , quand j'ajoute p>
ObjecteGuid avec valeur F8D764FF-9A6A-418E-A641-B6F99661A8D5, sa clause de recherche devient: (ObjectGuid = \ ffd \ d7 \ f8j \ 9a \ 8ea \ a6a \ b6 \ f9 \ 96a \ a8 \ d5 *) p>
Comment puis-je faire ceci pour DirectorySearcher dans mon programme, je suppose que c'est une truc de cordes d'octet, mais je ne peux pas le comprendre. P>
3 Réponses :
the forums accompagne l'excellent Le Guide de développeur .NET Pour la programmation des services d'annuaire (Joe Kaplan / Ryan Dunn) est une excellente source d'informations comme celle-ci. Consultez ce fil ici intitulé Recherchez l'objet à l'aide de la propriété ObjectGuid , qui montre comment Vous pouvez convertir un «GUIG régulier» au format S.DS «octetstring». P>
internal string ConvertGuidToOctetString(string objectGuid) { System.Guid guid = new Guid(objectGuid); byte[] byteGuid = guid.ToByteArray(); string queryGuid = ""; foreach (byte b in byteGuid) { queryGuid += @"\" + b.ToString("x2"); } return queryGuid; }
Wow, cela a pris une minute pour trouver! J'ajouterai cela était nécessaire pour moi à l'aide de la bibliothèque Novell.Directory.ldap.NetStandard pour obtenir correctement la fonction de recherche pour analyser My GUID ... ldapconnection.Search ("basé sur", ldapconnection.scope_one, "objetguid = "+ ConvertGuidtooctetstring (ObjectGuid), ATTRAS, FAUX); CODE>
... searcher.PropertiesToLoad.Add("objectGUID"); SearchResultCollection found = found = searcher.FindAll(); foreach (SearchResult result in found) { Guid oGuid = new Guid((byte[])result.Properties["objectGUID"][0]); } ...
Pour obtenir une chaîne d'octet utilisable par ADExplorer, appliquez ces étapes à la chaîne GUID: P>
F8D764FF-9A6A-418E-A641-B6F99661A8D5 CODE> P>
F8D764FF, 9A6A, 418E, A641, B6F99661A8D5 CODE> P>
{f8, d7, 64, ff}, {9a, 6a}, {41, 8e}, {A6, 41}, {B6, F9, 96, 61, A8, D5} code > p>
{ff, 64, d7, f8}, {6a, 9a}, {8e, 41}, {A6, 41}, {B6, F9, 96, 61, A8, D5} code > p>
FF, 64, D7, F8, 6A, 9A, 8E, 41, A6, 41, B6, F9, 96, 61, A8, D5 Code> P>
\ ff, \ 64, \ d7, \ f8, \ 6a, \ 9a, \ 8e, \ 41, \ A6, \ 41, \ b6, \ f9, \ 96, \ 61, \ A8 , \ D5 code> p>
\ ff \ 64 \ d7 \ f8 \ 41 \ a6 \ 41 \ b6 \ f9 \ 96 \ 61 \ a8 \ 96 \ 61 \ a8 \ d5 code> p>