ドメイン内の特定のユーザーのすべてのユーザーに対してクエリを実行し、各ユーザーから最後のlastLogonTimestampを取得し、その結果をcsvにエクスポートしようとしていますファイル。例:SOLを開始するユーザーのための "SOL *" "最終ログオン日"の31/12/1600 06:00:00 pmのほとんどのユーザーの結果を取得しますが、なぜ一部のユーザーが正しい日付を取得するのかわかりません。同じOU内にあるかどうかにかかわらず、他のユーザーに対しては1600年の日付を指定します。ユーザーはがその特定のDCを使用してログオン決してならないことを意味する特定のユーザーのすべてのDCからlastLogonTimestampを取得する方法
Get-ADDomainController -filter * |
% {Get-ADUser -Filter "Enabled -eq 'True' -and SamAccountName -like 'SOL*'" -server $_.name -Properties Name,SamAccountName,Description,EmployeeID,EmployeeNumber,EmailAddress,LastLogon,Manager,Title,Department,Organization,Enabled -SearchBase "OU=users,DC=contoso,DC=local" |
Select Name,SamAccountName,Description,EmployeeID,EmployeeNumber,EmailAddress,@{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}},Manager,Title,Department,Organization,Enabled}|
Group samaccountname |
ForEach{$_.Group | Sort LastLogon -Descending | Select -First 1} |
Export-Csv "C:\export\AD_Export.csv" -NoTypeInformation