Вот статья CodeProject , которая создает и демонстрирует перечислитель сетевых серверов общего назначения - вы можете выбрать, какой тип серверов вам интересен, и иметь список серверов, соответствующих этим критериям перечислил из вашей сети. Он использует подпрограммы из netapi32.dll и отображает их красивым, совместимым с C # способом.
Довольно приятные вещи!
В AD, конечно, вы также можете перечислять серверы на основе ObjectCategory - но я не уверен, если и как вы могли бы разделить их на отдельные роли (SQL-сервер, DC и т. Д.).
В другой статье CodeProject показано, как перечислять объекты в целом в AD - вы можете определенно перечислять компьютеры (objectCategory=computer
) из AD, но я не уверен, что вы можете ограничить то, что получите назад с опережением времени с фильтром LDAP ...