我想知道如何查看我域中的最后一次登录。我需要知道用户未登录的天数(某些变量将像计数器一样)。例如,将使用此变量的CSV文件:
USER- XXX Last Log in- DATA days logoff- **counter.
作为一个小的基础脚本,你可以使用这样的东西:
$lastlogon = @()
Get-ADUser -Filter * -Property LastLogonTimestamp | Select SamAccountName,LastLogonTimestamp | Foreach($_) {
$item = New-Object System.Object
$item | Add-Member -type NoteProperty -Name Username -value $_.SamAccountName
$item | Add-Member -type NoteProperty -Name LastLogon -value $([datetime]::FromFileTime($_.LastLogonTimestamp))
$diff = New-TimeSpan -Start ([datetime]::FromFileTime($_.LastLogonTimestamp)) -End $(Get-Date)
$item | Add-Member -type NoteProperty -Name DaysSince -value $diff.Days
$lastlogon += $item
}
$lastlogon | Export-Csv -Path C:\Temp\LastLogon.csv -NoTypeInformation -Delimiter ";" -Encoding UTF8
这将获得所有域用户的LastLogonTimestamp属性,将其转换为更易读的格式,然后将其写入CSV文件C:\ Temp \ LastLogon.csv,您可以使用例如Excel中。此外,它计算now和LastLogonTimestamp
之间的差异,并使用“New-TimeSpan”cmdlet将其写入DaysSince
列。
您可以通过查看Get-AdUser -Filter
或-SearchBase
来缩小搜索范围。
请注意,从未登录过的用户可能会有奇怪的时间值,因为此脚本不会检查有效或无效的时间戳。