lastLogon против lastLogonTimestamp в Active Directory

9

Сотрудник покинул компанию. Я пытаюсь выяснить, когда его учетная запись AD была зарегистрирована в последний раз - было ли это до увольнения или после.

В окне свойств пользователя есть два атрибута: lastLogon и lastLogonTimestamp . Дата lastLogon является более ранней, чем дата увольнения, но дата lastLogonTimestamp находится позади даты увольнения (поэтому в этом случае у нас возникнет проблема безопасности).

Как узнать, какой из этих атрибутов показывает фактическое время последнего входа в учетную запись AD? В чем разница между ними?

свойства пользователя - редактор атрибутов

ZygD
источник

Ответы:

12

Используйте самый последний атрибут.

Lastlogon обновляется только на контроллере домена, который выполняет проверку подлинности и не реплицируется.

LastLogontimestamp реплицируется, но по умолчанию, только если он на 14 дней или более старше, чем предыдущее значение.

http://social.technet.microsoft.com/wiki/contents/articles/22461.understanding-the-ad-account-attributes-lastlogon-lastlogontimestamp-and-lastlogondate.aspx

Грег Аскью
источник
6

TL; DR - если вы хотите самое точное время входа в систему, вы должны запросить lastLogonатрибут со всех контроллеров домена. Если допустимое отклонение составляет ± 19 дней, то вы можете просто прочитать данные lastLogonTimestampс ближайшего контроллера домена.


lastLogon

Этот атрибут не реплицируется и поддерживается отдельно на каждом контроллере домена в домене. Чтобы получить точное значение для последнего входа пользователя в домен, атрибут Last-Logon для пользователя должен быть получен с каждого контроллера домена в домене. Самое большое полученное значение - это время последнего входа в систему для этого пользователя.

https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogon#remarks


lastLogonTimestamp

Всякий раз, когда пользователь входит в систему, значение этого атрибута читается из DC. Если значение старше [current_time - msDS-LogonTimeSyncInterval], значение обновляется. Первоначальное обновление после повышения функционального уровня домена рассчитывается как 14 дней минус случайный процент 5 дней.

https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogontimestamp


Ноты:

  1. Обе даты сохраняются как FILETIME( Int64в .Net / PowerShell), если вы извлекаете их программно.
  2. PowerShell также предоставляет LastLogonDateсвойство. Я бы предпочел предоставить конкретную документацию Microsoft, чтобы подтвердить это, но большинство источников говорят, и мое тестирование подтверждает, что оно lastLogonTimestampпреобразовано в DateTimeзначение l̲o̲c̲a̲l̲ .
Дрю Чапин
источник