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 :
コメント