DirectorySearcher は WinNT ドメインではサポートされていないため、現在、次のコードを使用して特定の WinNT ドメイン内のコンピューターを検索しています。
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 のコンピューターの結果しか受け取りません。
それで、これがなぜなのか誰かが何か知っているかどうか疑問に思っていましたか?