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

PowerShell脚本需求:从CSV邮箱列表提取员工号并导出

解决PowerShell提取AD员工号并导出CSV的问题

我来帮你搞定这个脚本的问题,先梳理下现有脚本里的几个明显问题,再给你修正后的完整版本:

现有脚本的核心问题

  • 变量引用错误:你写的$_email是语法错误,PowerShell里要访问CSV每行的属性,得用$_.属性名(比如如果你的CSV里邮箱列叫emailAddress,就是$_.emailAddress)
  • 属性与选择语句不完整:Select语句被截断了,而且你要提取的employeeNumber必须在Get-ADUser的-Properties里明确指定——因为这不是AD用户的默认返回属性
  • 缺少导出步骤:你的脚本最后没有把查询结果导出到新CSV的命令

修正后的完整脚本

# 导入ActiveDirectory模块(域控制器默认自带,成员服务器需先安装RSAT工具)
Import-Module ActiveDirectory

# 读取源CSV文件,遍历每一行记录
Import-Csv 'C:\ps\EmailIDIFS.csv' | ForEach-Object {
    # 根据邮箱查询AD用户,注意这里的$_.emailAddress要和你CSV里的邮箱列名一致
    # 如果你的CSV列叫"Email",就改成$_.Email
    Get-ADUser -Filter "EmailAddress -eq '$($_.emailAddress)'" `
        -Properties Name, emailAddress, SAMAccountName, employeeNumber |
    # 选择需要保留的字段,重点包含你要的employeeNumber
    Select-Object Name, emailAddress, SAMAccountName, employeeNumber
} | 
# 将结果导出到新的CSV文件,-NoTypeInformation去掉冗余的类型注释,-Encoding UTF8避免中文乱码
Export-Csv 'C:\ps\EmployeeNumbers_Result.csv' -NoTypeInformation -Encoding UTF8

额外排错优化(可选)

如果有些邮箱在AD里找不到对应的用户,上面的脚本会直接跳过这些行。要是你想知道哪些邮箱没匹配到,可以加个判断输出警告:

Import-Module ActiveDirectory

Import-Csv 'C:\ps\EmailIDIFS.csv' | ForEach-Object {
    $targetEmail = $_.emailAddress  # 先把当前行的邮箱存起来,方便后续使用
    $adUser = Get-ADUser -Filter "EmailAddress -eq '$targetEmail'" `
        -Properties Name, emailAddress, SAMAccountName, employeeNumber
    
    if ($adUser) {
        # 找到用户就输出需要的字段
        $adUser | Select-Object Name, emailAddress, SAMAccountName, employeeNumber
    } else {
        # 没找到就输出警告日志
        Write-Warning "⚠️ 未在AD中找到邮箱为 [$targetEmail] 的用户"
    }
} | Export-Csv 'C:\ps\EmployeeNumbers_Result.csv' -NoTypeInformation -Encoding UTF8

关键注意事项

  1. 确保你的机器已经安装了RSAT Active Directory模块(域控制器默认有,成员服务器需要手动安装RSAT工具)
  2. 一定要确认CSV里的邮箱列名和脚本里的$_.emailAddress完全匹配(PowerShell属性名不区分大小写,但表头匹配能避免不必要的问题)
  3. 运行脚本需要有足够的AD查询权限,普通域用户一般就够,受限环境可能需要更高权限

内容的提问来源于stack exchange,提问作者Jordan A.F.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:25:19