내 도메인의 특정 사용자로부터 모든 사용자를 쿼리하기위한 스크립트를 만들고 각 사용자의 마지막 "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