2016-10-18 29 views
0

ドメイン内の特定のユーザーのすべてのユーザーに対してクエリを実行し、各ユーザーから最後の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='Last‌​Logon'; E={[DateTime]::FromFileTime($_.LastLogon)}},Manager,Title,Department,Organizatio‌​n,Enabled}| 
Group samaccountname | 
ForEach{$_.Group | Sort LastLogon -Descending | Select -First 1} | 
Export-Csv "C:\export\AD_Export.csv" -NoTypeInformation 

答えて

0

たとえば、米国内の従業員は、ログオン中に欧州DCに連絡することは決してありません。この場合、ヨーロッパDCのlastlogonは "31/12/1600 06:00:00 p.m"になります(lastlogonの最小値は1601年1月1日(UTC)、見た時間は "時間帯"です)。

もう1つ、lastLogonTimestamplastLogonは2つの異なる属性です。
lastLogon正確なログオン時刻を記録しますが、DCには複製されません。
lastLogonTimestampが複製されますが、これは近似値に過ぎません。あなたのケースでは
(デフォルトでは、< = 14日以前の実際の値よりもアイドルアカウントを見つけるための唯一のに役立ちます...)

、あなたが実際にlastLogonについてを話しています。

関連する問題