Что такое свойство uSNCreated в Active Directory? Это уникально?

Мне нужен способ идентифицировать пользователей, которые не изменятся, если наши соглашения об именах электронной почты или имен пользователей изменятся; они в прошлом. Мы используем LDAP, но наши международные офисы используют Active Directory, поэтому я немного зеленоват.

Из дампа я заметил, что всем пользователям присвоено уникальное значение uSNCreated. Является ли это глобально уникальным для пользователя? Изменится ли он, если изменится их свойство? Это мой святой Грааль уникальных идентификаторов для AD?!

3 ответа

Ответ @sysadmin1138 немного вводит в заблуждение. uSNCreated не связан со временем; это уникально только на DC. Это самый высокий DCCommittedUsn + 1 во время создания объекта. Он, вероятно, смешивает это с whenCreated, который представляет собой 64-битное число, представляющее число интервалов в 100 наносекунд с 12:00 1 января 1601 года... и также не обязательно уникальное. Однако он прав, что objectGuid вместе с objectSid лучше всего использовать для отслеживания объектов посредством изменений атрибутов. Оба всегда установлены на всех пользовательских объектах и ​​никогда не изменятся без удаления и воссоздания объекта... в это время все ставки отключены для отслеживания объекта!

Почему бы не использовать значение, которое использует Microsoft - SID? Это сохраняется как двоичный файл в атрибуте objectSid. Еще одним преимуществом этого является то, что если ваши пользователи будут перемещаться между доменами в будущем, objectSid будет храниться в sIDHistory, чтобы вы могли согласовать изменения.

Это поле на самом деле является скрытым полем даты и времени и не обязательно будет уникальным. Лучшее поле для этого - objectGUID. Это уникально.

Другие вопросы по тегам