Почему перечисление дочерних элементов DirectoryEntry возвращает только 20 результатов в домене WinNT?C # - PullRequest
2 голосов
/ 11 мая 2011

В настоящее время я использую следующий код для поиска компьютеров в данном домене WinNT, поскольку DirectorySearcher не поддерживается в доменах 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 результатов с компьютерахотя я знаю, что в домене больше компьютеров, чем в этом домене.

Так что мне просто интересно, кто-нибудь имел представление, почему это так?

1 Ответ

0 голосов
/ 25 июля 2011

Запись в каталоге возвращает дочерние элементы определенного узла.Это не будет содержать узел под узлами, это означает, что его потомки.Попробуйте также проверить наличие внуков и получите все узлы под WIN NT, это будет работать.

Пожалуйста, дайте мне знать, если вы хотите фрагмент кода.Или я скучаю по чему-либо со своей стороны.

...