You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell查询AD近90天登录用户脚本结果异常排查

问题根因

你的脚本筛选逻辑完全写反,还叠加了无关、错误的过滤条件,导致返回结果不符合预期。

修正方案

小型单域控环境可用脚本

如果你的域只有1台域控,或者能接受LastLogonDate属性最多14天的同步延迟,直接用下面的脚本即可:

# 计算90天前的时间阈值
$cutoffDate = (Get-Date).AddDays(-90)

Get-ADUser -SearchBase "OU=Domain Users,DC=x,DC=state,DC=x,DC=x" `
    -Properties LastLogonDate `
    -Filter {LastLogonDate -ge $cutoffDate} |
    Select-Object Name, SamAccountName, LastLogonDate |
    Export-Csv -Path "C:\Temp\Last90DaysLogonUsers.csv" -NoTypeInformation -Encoding UTF8

多域控环境精准查询脚本

如果域内有多台域控,要拿到完全准确的最后登录时间,需要遍历所有域控取用户登录时间的最大值,脚本如下:

$cutoffDate = (Get-Date).AddDays(-90)
# 获取域内所有域控列表
$allDomainControllers = Get-ADDomainController -Filter *
# 获取指定OU下的所有用户
$allUsers = Get-ADUser -SearchBase "OU=Domain Users,DC=x,DC=state,DC=x,DC=x" -Filter *

$result = foreach ($user in $allUsers) {
    # 遍历所有域控查询该用户的最后登录时间,取最大值
    $latestLogon = $allDomainControllers | ForEach-Object {
        Get-ADUser $user -Server $_.HostName -Properties LastLogon | Select-Object -ExpandProperty LastLogon
    } | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum

    if ($latestLogon -gt 0) {
        $latestLogonDate = [DateTime]::FromFileTime($latestLogon)
        # 仅保留90天内有登录记录的用户
        if ($latestLogonDate -ge $cutoffDate) {
            [PSCustomObject]@{
                Name           = $user.Name
                SamAccountName = $user.SamAccountName
                LastLogonDate  = $latestLogonDate
            }
        }
    }
}

$result | Export-Csv -Path "C:\Temp\Last90DaysLogonUsers.csv" -NoTypeInformation -Encoding UTF8
原脚本错误点说明
  • 比较逻辑写反:你用lastlogondate -le $90days筛选的是最后登录时间早于90天前的用户,和你要的「90天内有登录记录」的需求完全相反,正确的比较符应该是-ge(大于等于),匹配登录时间晚于90天阈值的记录
  • 错误纳入空值账号:lastlogondate -notlike "*"会把所有从未登录过、LastLogonDate字段为空的遗留账号全部纳入结果,这就是你结果里出现大量2014年老旧记录的核心原因
  • 叠加无关过滤条件:passwordlastset -le $90days是按密码最后设置时间筛选,和登录时间的需求没有关联,会错误排除90天内改过密码的活跃用户,同时纳入90天没改密码的非活跃用户
  • 不必要的性能损耗:-Properties *会拉取用户对象的所有AD属性,用户量大的时候查询速度会极慢,只需要指定查询要用到的属性即可

内容的提问来源于stack exchange,提问作者saxman88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 01:19:07