Desidero trovare l'OU più specifica del mio computer in C#. Ho il codice che otterrà le informazioni di cui ho bisogno, ma non sembra robusto e richiederebbe un parsing complicato. Ci sono alternative migliori? Pensieri? Qualsiasi aiuto è apprezzato!Come individuare le unità organizzative di cui fa parte un computer? (Active Directory C#)
veramente quello che voglio è un equivilent al comando prompt dei comandi:
dsquery computer -name COMP-HERE
ma ho bisogno che in C#, che si sta rivelando di essere problematico.
DirectorySearcher d = new DirectorySearcher("CN=COMP-HERE");
d.PropertiesToLoad.Add("adspath");
SearchResultCollection results = d.FindAll();
foreach (SearchResult searchResult in results) {
foreach (string propertyKey in searchResult.Properties.PropertyNames) {
ResultPropertyValueCollection valueCollection = searchResult.Properties[propertyKey];
foreach (Object propertyValue in valueCollection) {
Console.WriteLine(
"{0}:{1}",
propertyKey,
propertyValue.ToString());
}
}
}
Console.ReadLine();
Quindi la mia conoscenza di C# e Active Directory è limitata ... Puoi approfondire un po 'cosa sta facendo esattamente questo codice? Sono un po 'confuso dal PrincipalContext. Il codice funziona benissimo! Voglio solo capirlo. – user1507986
Vedere l'aggiornamento della risposta –
Qualche motivo per l'utilizzo di SkipWhile anziché di Dove? –