我目前正在使用以下代码查找给定WinNT域中的计算机,因为WinNT域不支持DirectorySearcher;
protected void ScanDomain(string domainName, bool isLocalDomain)
{
DirectoryEntry parentEntry = new DirectoryEntry();
if(isLocalDomain)
{
try
{
parentEntry.Path = "WinNT://" + domainName;
int numResults = 0;
foreach (DirectoryEntry childEntry in parentEntry.Children)
{
switch (childEntry.SchemaClassName)
{
case "Computer":
Debug.WriteLine(childEntry.Name);
numResults++;
break;
}
}
if (numResults == 0)
{
Debug.WriteLine("No results.");
}
}
catch (Exception ex)
{
Debug.WriteLine("Failed.");
}
}
else
{
//...
}
}
但是当使用这种方法时,我只收到20个计算机结果,即使我知道计算机的数量也多于域中的计算机。
所以我只是想知道是否有人知道为什么会这样?
答案 0 :(得分:0)
目录条目返回特定节点的子节点。这不包含节点下的节点,意味着它的大孩子。尝试检查大孩子,并获得WIN NT下的每个节点,这将工作。
如果您需要代码段,请与我们联系。或者我错过了我身边的任何事情。