Quiero encontrar la unidad organizativa más específica a la que pertenece mi computadora en C#. Tengo un código que obtendrá la información que necesito, pero no se considera robusto y requeriría un análisis complicado. ¿Hay mejores alternativas? ¿Pensamientos? ¡Cualquier ayuda es apreciada!¿Cómo puedo encontrar de qué unidades organizativas forma parte una computadora? (Active Directory C#)
realmente lo que quiero es una equivilent al comando símbolo del sistema:
dsquery computer -name COMP-HERE
Pero lo necesito en C#, que está demostrando ser problemático.
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();
Así que mi conocimiento de C# y Active Directory es limitado ... ¿Puede explicar un poco sobre qué está haciendo exactamente este código? Estoy un poco confundido por PrincipalContext. ¡Aunque el código funciona muy bien! Solo quiero entenderlo. – user1507986
Ver la respuesta de actualización –
¿Alguna razón para usar SkipWhile en lugar de Where? –