回答:
最新の属性を使用します。
Lastlogonは、認証を実行するドメインコントローラでのみ更新され、複製されません。
LastLogontimestampは複製されますが、デフォルトでは、それが以前の値より14日以上古い場合のみです。
TL; DR-最も正確なログオン時間が必要な場合はlastLogon
、すべてのドメインコントローラーから属性を照会する必要があります。±19日の許容範囲であればlastLogonTimestamp
、最も近いドメインコントローラーから読み取ることができます。
この属性は複製されず、ドメイン内の各ドメインコントローラーで個別に維持されます。ドメインでのユーザーの最後のログオンの正確な値を取得するには、ユーザーのLast-Logon属性をドメイン内のすべてのドメインコントローラーから取得する必要があります。取得される最大値は、そのユーザーの実際の最終ログオン時間です。
https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogon#remarks
ユーザーがログオンするたびに、この属性の値がDCから読み取られます。値が古い[current_time-
msDS-LogonTimeSyncInterval
]の場合、値が更新されます。ドメイン機能レベルの引き上げ後の最初の更新は、14日から5日のランダムな割合を差し引いて計算されます。
https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogontimestamp
FILETIME
(Int64
.Net / PowerShellに)として保存されます。LastLogonDate
プロパティも用意されています。私はこれを確認するためにマイクロソフト固有のドキュメントを提供することを望みましたが、ほとんどの情報源は言い、私のテストはそれがlastLogonTimestamp
l̲o̲c̲a̲l̲ DateTime
値に変換されることを確認します。