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

如何通过PowerShell导入CSV检查本地AD中的活跃用户

解决方法

你的代码存在几个明显问题:

  • 括号不匹配导致语法错误
  • 在ForEach-Object里引用当前用户的属性时,应该用$_.SamAccountName而非直接调用$SamAccountName
  • 没有构建可导出的结构化结果,无法直接生成CSV文件

以下是可以直接使用的完整脚本,实现导入用户列表、检查AD存在性、输出状态并导出CSV:

# 导入目标CSV,确认文件内表头为sAMAccountName
$userList = Import-CSV "\\tsclient\C:\Users\abc\123.csv"

# 遍历用户并收集检查结果
$checkResults = foreach ($user in $userList) {
    $targetSam = $user.sAMAccountName
    # 查询AD中是否存在该用户,静默处理不存在的报错
    $adUser = Get-ADUser -Filter "SamAccountName -eq '$targetSam'" -ErrorAction SilentlyContinue
    
    # 生成包含账号和状态的自定义对象
    [PSCustomObject]@{
        sAMAccountName = $targetSam
        状态 = if ($adUser) { "活跃" } else { "已删除" }
    }
}

# 导出结果到新CSV文件,可自行修改输出路径
$checkResults | Export-CSV "\\tsclient\C:\Users\abc\AD用户核查结果.csv" -NoTypeInformation -Encoding UTF8

# 控制台打印结果,方便快速查看
$checkResults

注意事项

  • 若你的CSV表头不是sAMAccountName,需将代码中$user.sAMAccountName替换为实际列名
  • 运行脚本前需确保已加载Active Directory模块(域控制器或安装了RSAT工具的机器默认支持)
  • 指定-Encoding UTF8可避免导出CSV时出现中文乱码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:10:04