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

使用Get-ADUser导出AD用户列表仅获最后一条数据的问题

问题根源分析
  1. 文件覆盖问题:你在循环中直接使用Export-Csv,默认每次执行都会创建/覆盖目标文件,最终仅保留最后一次循环的结果。
  2. 空行/无效输入:输入文件中存在空白行或无效的用户名,导致Get-ADUser的Identity参数接收到空值,触发参数验证错误。
  3. 无效的Import-Csv使用:你添加的Import-Csv没有赋值给变量也未实际使用,若输入文件是纯文本(非标准CSV),反而会导致读取逻辑混乱。
解决方案

以下是两种高效的修复方案,优先推荐方案一:

方案一:收集所有结果后一次性导出(推荐)

先批量获取所有用户信息,再统一导出,避免文件覆盖,同时加入错误捕获便于排查问题:

# 读取输入文件,过滤空行和纯空白内容
$userList = Get-Content -Path "你的输入文件路径.txt" | Where-Object { $_ -match '\S' }

# 批量收集用户信息,捕获单个用户的查询错误
$outputData = foreach ($user in $userList) {
    try {
        Get-ADUser -Server "你的DC服务器地址" -Identity $user -Properties LastLogonDate |
            Select-Object SamAccountName, LastLogonDate
    }
    catch {
        Write-Warning "查询用户 $user 失败: $_"
        # 可选:将失败的用户信息标记后加入结果
        [PSCustomObject]@{
            SamAccountName = $user
            LastLogonDate  = "查询失败: $($_.Exception.Message)"
        }
    }
}

# 一次性导出所有结果到CSV
$outputData | Export-Csv -Path "你的输出文件路径.csv" -NoTypeInformation

方案二:循环内追加导出(适合大文件场景)

若输入文件极大,担心内存占用,可使用-Append参数在循环中逐行追加结果:

# 先清空输出文件(避免残留旧内容)
if (Test-Path "你的输出文件路径.csv") { Remove-Item "你的输出文件路径.csv" }

$userList = Get-Content -Path "你的输入文件路径.txt" | Where-Object { $_ -match '\S' }

foreach ($user in $userList) {
    try {
        Get-ADUser -Server "你的DC服务器地址" -Identity $user -Properties LastLogonDate |
            Select-Object SamAccountName, LastLogonDate |
            Export-Csv -Path "你的输出文件路径.csv" -NoTypeInformation -Append
    }
    catch {
        Write-Warning "查询用户 $user 失败: $_"
        # 可选:将失败用户追加到输出文件
        [PSCustomObject]@{
            SamAccountName = $user
            LastLogonDate  = "查询失败: $($_.Exception.Message)"
        } | Export-Csv -Path "你的输出文件路径.csv" -NoTypeInformation -Append
    }
}

针对CSV格式输入文件的调整

如果你的输入文件是标准CSV(第一行为表头SamAccountName,后续为用户名),需替换读取逻辑:

$userList = Import-Csv -Path "你的输入文件路径.csv" | 
            Select-Object -ExpandProperty SamAccountName | 
            Where-Object { $_ -match '\S' }

内容的提问来源于stack exchange,提问作者Oliver Betts-Richards

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 18:20:01