Неверное значение LastLogonTimeStamp пользователя в Active Directory - PullRequest
3 голосов
/ 11 мая 2009

Я использую свойство LastLogonTimeStamp пользователя в Active Directory, чтобы получить время последней регистрации, значение не соответствует,

Кто-нибудь еще сталкивался с такой же проблемой?

Можем ли мы доверять LastLogonTimeStamp?

Обновление: Это всего лишь один контроллер домена

Ответы [ 6 ]

2 голосов
/ 14 февраля 2011

LastLogonTimeStamp по проекту обновляется только тогда, когда пользователь входит в систему, а текущее значение составляет от 9 до 14 дней. Они сделали это, чтобы сократить трафик репликации в AD.

Это сообщение в блоге хорошо говорит:

Важно отметить, что целевое назначение Атрибут lastLogontimeStamp, чтобы помочь определить неактивный компьютер и пользователя Счета. Атрибут lastLogon не предназначен для обеспечения реального времени информация для входа. По умолчанию настройки на месте lastLogontimeStamp будет 9-14 дней за текущей датой.

Если вы хотите получить реальную информацию о последнем входе в систему для пользователя, вам нужно извлечь атрибут lastLogon из каждого контроллера домена в домене и использовать самое последнее значение.

2 голосов
/ 13 мая 2009

http://www.microsoft.com/technet/scriptcenter/topics/win2003/lastlogon.mspx

Вы должны использовать lastLogonTimeStamp, только если у вас много контроллеров домена и вам не нужны наиболее точные результаты. С одним контроллером домена используйте атрибут lastLogon.

1 голос
/ 26 июля 2013

Вы не можете получить время пользователя True LastLogon ни по lastlogon, ни по lastlogontimestamp напрямую ... вам нужно выполнить некоторую пользовательскую работу, чтобы получить последнее время входа в систему.

По LastLogon

Вам необходимо запросить значение lastlogon со всех контроллеров домена, сравнить все значения и получить максимальное время входа в систему как True Last Logon

By LastLogonTimeStamp

Поскольку это будет реплицируемый атрибут, который можно запрашивать только у одного DC, но он не даст точного результата, его точность около 14 дней зависит от атрибута msDS-LogonTimeSyncInterval .

1 голос
/ 12 мая 2009

Если вы когда-либо планируете иметь более одного DC, то LastLogonTimeStamp может не быть надежным методом для определения чего-то вроде того, является ли учетная запись устаревшей или нет, поскольку этот атрибут не реплицируется на другие DC во многих (большинство? ) сценариев, в зависимости от функционального уровня вашего домена.

Лучший способ определить это - посмотреть на «срок действия пароля» (через атрибут PasswordLastChanged). Например, если кто-то не сбросил свой пароль через неделю или две после истечения его срока действия (или какого-либо другого промежутка времени, в зависимости от вашей конкретной среды), то есть большая вероятность того, что у вас там есть потерянная учетная запись.

1 голос
/ 11 мая 2009

Есть ли у вас сеть с несколькими DC (контроллерами домена)? Они могут быть не синхронизированы, поскольку LastLogonTimeStamp будет обновляться на контроллере домена, на котором пользователь фактически входит, и синхронизация может занять некоторое время.

Марк

0 голосов
/ 05 июня 2013

Если вы хотите получить реальную информацию о последнем входе для пользователя, вам нужно извлечь атрибут lastLogon из каждого контроллера домена в домене и использовать самое последнее значение.

К сожалению, это не совсем точно. Я использовал атрибут lastlogon, и хотя он достаточно близок для большинства учетных записей пользователей, которые я тестировал с этим, я сталкивался со многими, которые возвращают дату в 1600 году, и те, которые близки, иногда показывают, что я точно знаю указанные пользователи даже не могли войти, например, мой собственный LastLogon показывался в 7:50, когда я узнал, что я вошел в 8:15.

Многие администраторы иногда хотят использовать эту информацию для проверки соответствия политике компании. К сожалению, Microsoft, похоже, игнорирует такие намерения из-за функциональности системы.

...