Я хотел бы знать, как определить в работающем приложении контроллер домена / основной контроллер домена рабочей станции Windows или сервера, на котором выполняется приложение, с помощью API Win32.
В частности, учитывая имя хоста машины, я хочу найти имя авторитетного источника разрешения этого имени хоста на конкретную машину. (Я думаю, что это контроллер домена; мои знания в этой области довольно слабы, поэтому, возможно, я задаю вопрос неверно.)
Я видел фрагмент кода C #, который якобы делает это, но не знаю, есть ли какое-либо отношение к API Win32. . Существует множество веб-страниц о том, как получить DC, но все они вызывают командные сценарии, а не API.
Рад иметь код, но готов сделать домашнюю работу по извлечению шагов, если кто-то укажет мне правильное направление.
Есть ли аналог в линуксе? (например, собственные вызовы для поиска сервера имен? Я не предполагаю контекст Linux с контроллером домена Windows).
(Ага ... только что обнаружил этот вопрос: Получите доменное имя компьютера из Windows API. Покопаемся в нем немного подробнее. РЕДАКТИРОВАТЬ: Может быть, мне нужна функция NetDCName? Где мне взять нужные ему параметры?).
ИЗМЕНИТЬ 19 апреля: Я закодировал / протестировал NetDCName, используя подсказки Эрика. Да, он выдает имя контроллера домена, если он есть, и сигнал ошибки, когда его нет, что является правильным функциональным поведением.
Однако кажется, что вызов функции занимает несколько секунд! Почему это могло быть? Это приводит к неприемлемой, видимой для пользователя задержке при проверке, которую я пытаюсь выполнить.