繁体   English   中英

最后登录脚本

[英]Last logon script

我想知道如何检查我域中的最后一次登录。 我需要知道用户未登录的天数(某些变量类似于计数器)。 例如,将包含此变量的 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 打开。 此外,它计算nowLastLogonTimestamp之间的差异,并使用“New-TimeSpan”cmdlet 将其写入列DaysSince

您可能希望通过查看Get-AdUser -Filter-SearchBase来缩小搜索-SearchBase

请注意,从未登录过的用户可能会有奇怪的时间值,因为此脚本不会检查有效或无效的时间戳。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM