В Powershell laslogon можно получить через командлет Get-ADUser. Для примера так мы получим это значение для одного пользователя:
Get-ADUser -Properties LastLogon -Identity Administrator
У меня, на Windows Server 2019 AD, значения отображаются в таком виде:
Это тип данных Int64. У меня спокойно получилось преобразовать это значение так. Возможно вам это не понадобится, если используете более ранние версии ОС:
$user_lastlogon = Get-ADUser -Properties LastLogon -Identity Administrator
Get-Date $user_lastlogon.LastLogon
Получение значения LastLogon в Powershell для пользователей из одной OU
На примере организационной единице Moscwo и домена domain.local:
$result = Get-ADUser -SearchBase "OU=Moscow,DC=Domain,DC=local" -Properties LastLogon -Filter *
$result.LastLogon | Get-Date
Скорее всего мы хотим получить не только дату, а например UPN, мы можем добавить такую строчку:
$result | fl -Property UserPrincipalName, @{Label="LogonTime"; Expression={Get-Date $_.LastLogon}}
В примере выше, если вы хотите получить все возможные параметры вместо UserPrincipalName поставьте * . Остальная часть выражения говорит о том, что мы создаем новую строчку с именем "LogonTime", которая будет содержать результат выражения Ged-Date $_.LastLogon. Опять же - это может не понадобится если у вас значения сразу представлены в нужном формате.
Получение значения из Powershell LastLogon для всех пользователей
Для всех пользователей можно сделать так:
$result = Get-ADUser -Filter * -Properties LastLogon
$result | fl -Property *, @{Label="LogonTime"; Expression={Get-Date $_.LastLogon}}
...
Подписывайтесь на наш Telegram канал
Теги: #powershell