Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Alt26.Alt16. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

AD: Как посмотреть last logon всех пользователей

2025-10-03 · Posted in MS: Active Directory

Ниже — несколько проверенных способов посмотреть LastLogon всех пользователей в AD (от простого и быстрого до точного, но более тяжёлого). Всё — PowerShell (нужен модуль ActiveDirectory, запускайте от учётки с правами чтения AD).

Быстрый и удобный

Использует свойство LastLogonDate — легко читается и реплицируется (но с погрешностью —≈14 дней по умолчанию).

Если нужно быстро посмотреть в консоли (one-liner)

Точное (authoritative) значение — когда нужна 100% точность

lastLogon хранится на каждом контроллере домена и не реплицируется.
Чтобы получить точное последнее время входа — надо опросить все DC и взять максимум значений.

Этот скрипт более медленный (опрашивает каждый DC для каждого пользователя), но даёт максимально точное время входа.

Пояснения / советы

  • LastLogonDate (и lastLogonTimestamp) реплицируются с задержкой — lastLogonTimestamp обычно округлён и может отставать (по умолчанию ~14 дней). Для быстрых отчётов используйте LastLogonDate.
  • Для полной точности — используйте скрипт опроса всех DC (как выше) и берите максимум lastLogon.
  • Если у вас много пользователей/контроллеров — выполните точечный запрос по группе пользователей (фильтр), иначе будет долго.
  • Требуется модуль ActiveDirectory (RSAT) — на контроллере или на рабочей станции с RSAT и правами чтения AD.
  • Если вы хотите исключить неактивные/заблокированные учётки, добавьте -Filter {Enabled -eq $true} в Get-ADUser или фильтруйте результат.

Полезные примеры фильтрации

Пользователи, которые не входили >90 дней (по LastLogonDate):

 

Leave a Reply