【发布时间】:2014-03-05 06:22:12
【问题描述】:
我需要浏览ActiveDirectory 才能选择计算机对象。我发现,有些容器可以包含计算机项,另一个可以包含用户、组策略等。我只想显示包含计算机的容器。所以我使用这段代码来检查容器是否包含任何计算机:
public static bool CheckContainsComputers(DirectoryEntry entry)
{
using (DirectorySearcher ds =
new DirectorySearcher(entry, "(objectCategory=computer)", new string[0], SearchScope.Subtree))
{
ds.Asynchronous = true;
ds.SizeLimit = 1;
try
{
SearchResult sr = ds.FindOne();
return (sr == null) ? false : true;
}
catch
{
return false;
}
}
}
问题:
为了减少对该方法的调用次数,我想知道 - 是否有可能找出 DirectoryEntry 是否可以包含不运行 DirectorySearcher 的计算机?
是否可以通过SearchScope.OneLevel 一次调用DirectorySearcher 来找到可以拥有计算机和计算机的容器
【问题讨论】:
标签: c# active-directory directoryservices