SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

ActiveDirectoryでユーザーの最終ログオン日時を取得する

問題

AD使ってまして、各ユーザーのPCへの最終ログオン日時を取得したいです。

答え

PowerShellでこんな感じで。

Get-ADUser -Filter * -Properties LastLogon, LastLogonTimestamp| Format-Table SamAccountName, @{name='LastLogon';expression={[DateTime]::FromFileTime($_.LastLogon)}}, @{name='LastLogonTimestamp';expression={[DateTime]::FromFileTime($_.LastLogonTimestamp)}}

LastLogonは 132654486962990103 のような値なので、年月日形式にするには加工が必要。

LastLogonは ADが冗長化されていると同期しないそうなので、構成によっては期待した結果にならないかもしれない。

コンピューターのほうはどうかというと、大した情報は持っていない。

Get-ADComputer -Filter *

DistinguishedName : CN=PC-123456,CN=Computers,DC=xxxx-domain,DC=local
DNSHostName       : PC-123456.xxxx-domain.local
Enabled           : True
Name              : PC-123456
ObjectClass       : computer
ObjectGUID        : xxxx-xxxx-xxxx-xxxx
SamAccountName    : PC-123456$
SID               : S-1-2-3-xxxx-xxxx-xxxx-xxxx
UserPrincipalName :

関連するメモ

コメント