Как узнать, частью каких организационных единиц является компьютер? (Active Directory С#)

Я хочу найти наиболее конкретную OU, к которой принадлежит мой компьютер, в C #. У меня есть код, который будет получать нужную мне информацию, но он не кажется надежным и потребует сложного синтаксического анализа. Есть ли лучшие альтернативы? Мысли? Любая помощь приветствуется!

На самом деле то, что я хочу, это эквивалент команды командной строки:

dsquery computer -name COMP-HERE

Но мне нужно это на C #, что оказывается проблематичным.

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();
6
задан user1507986 1 August 2012 в 23:05
поделиться