我想在 C# 中找到我的计算机所属的最具体的 OU。我的代码可以获取我需要的信息,但感觉不够健壮,需要复杂的解析。有更好的选择吗?想法?任何帮助表示赞赏!
我真正想要的是命令提示符命令的等价物:
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();