Я пытаюсь однозначно идентифицировать объекты в домене Active Directory. SAMAccountName или почтовый адрес могут, к сожалению, измениться, как и objectSid. Но я видел, что есть objectGUID.
Мне просто интересно: может ли это измениться по какой-либо причине, или я могу предположить, что это никогда не изменится?
Причина, по которой я спрашиваю, заключается в том, что я ссылаюсь на некоторые объекты AD из приложения и мне нужно вернуться через несколько недель или месяцев и все же получить объект, но приложение не может каким-либо образом получать уведомления об изменениях. Поэтому мне нужна ценность, которая никогда не меняется.
http://technet.microsoft.com/en-us/library/cc961625.aspx?ppud=4
Чтобы скопировать и вставить: SID иногда могут изменяться. SID для объекта группы не изменится. Значения других свойств объекта могут изменяться, но GUID объекта никогда не меняется. Когда объекту назначается GUID, он сохраняет это значение на всю жизнь.
Если с ним связан GUID, он никогда не должен меняться, поскольку GUID означает глобальный уникальный идентификатор.
GUID не должен изменяться, если вы оставите компьютер как член домена и переименуете его, но, как указано, удаление его из домена и добавление его обратно в новый объект.
«Когда объекту назначается GUID, он сохраняет это значение на всю жизнь».
Не уверен, насколько это правда. Я проверил это, добавив компьютер в домен AD и записав GUID. Затем я удалил компьютер из домена, переименовал его, а затем снова добавил в тот же домен. GUID на компьютере был другим. Мне любопытно, может ли кто-нибудь еще это проверить.