Уникальный идентификатор для домена
Я задал вопрос о StackOverflow, и мне было предложено задать связанный вопрос, чтобы посмотреть, смогу ли я получить какие-либо дополнительные материалы. По сути, я хочу, чтобы мое приложение знало, в каком домене оно работает, если оно вообще есть. (Я хочу показывать некоторые средства отладки только дома, и из-за нашей модели развертывания не возможно иметь другую сборку.) Поскольку я слишком параноик, я не хотел просто полагаться на доменное имя, чтобы гарантировать мы в доме. Таким образом, я отметил, что DOMAIN_CONTROLLER_INFO, возвращенный из DsGetDcName, имеет связанный с ним GUID, однако я могу найти немного информации о нем. Я предполагаю, что этот GUID генерируется в то время, когда создается первый DC в домене, и что он будет жить в течение всей жизни домена. Кто-нибудь еще обладает внутренним знанием и был бы достаточно любезен, чтобы подтвердить или опровергнуть мои предположения?
2 ответа
Согласно стандарту именования Active Directory,
Каждый объект имеет GUID, который назначается при создании объекта.
SID и GUID состояния
Когда объекту назначается GUID, он сохраняет это значение на всю жизнь.
Как работает переименование домена
Каждый раздел каталога домена и приложения также идентифицируется глобально уникальным идентификатором (GUID), который не изменяется при переименовании домена.
В моем домене единственный GUID, прикрепленный к объекту домена, - это "objectGUID". Атрибут Object-Guid имеет следующее значение для objectGUID:
Это значение устанавливается при создании объекта и не может быть изменено.
Да, я ожидаю, что это objectGUID домена, который является хорошим уникальным идентификатором здесь.
В дополнение к тому, что сказал Майк, в общем случае, скажем, пользователь или компьютер, у вас есть два идентификатора. ObjectGUID и SID (идентификатор безопасности). Оба объекта задаются при создании объекта, однако в случае леса с несколькими доменами, если вы перемещаете пользователя / компьютер между доменами, GUID останется без изменений, однако SID изменится.