Получение списка доменов на C #, просмотр сети / домена

#c# #dns

#c# #dns

Вопрос:

Я пытаюсь получить список всех доменов в моей сети (командная строка — просмотр сети / домена)

         Forest currentForest = Forest.GetCurrentForest();
        DomainCollection domains = currentForest.Domains;
        foreach (Domain objDomain in domains)
        {
            Console.WriteLine(objDomain.Name);
        } 
  

Это не возвращает ничего, даже близкого к net view / domain. В чем разница между ними?

Ответ №1:

Разница в том, что в net view / domain перечислены все домены и рабочие группы, которые находятся в сети (или, по крайней мере, в том сегменте сети, в котором вы находитесь). В отличие от этого, приведенный выше код предоставит вам все домены, которые находятся в вашем текущем лесу. Это означает, что просматривается только лес, частью которого вы в данный момент являетесь, а не все возможные домены (и рабочие группы), находящиеся в сети.

Комментарии:

1. Потрясающе, спасибо! Есть какие-нибудь советы о том, как сделать последнее? В настоящее время я просматриваю код из: pinvoke.net/default.aspx/netapi32.netserverenum В качестве примера. Есть ли лучший способ сделать это?

2. Эта статья может помочь вам: codeproject.com/KB/cs/csenumnetworkresources.aspx