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

如何使用PowerShell导出AD中proxyAddresses重复的用户为CSV文件

AD重复ProxyAddresses用户排查脚本调整方案

原有全量导出脚本未做重复值判断逻辑,要实现仅筛选存在代理地址冲突的用户,核心逻辑是先统计全量环境中出现多次的SMTP地址,再反向匹配持有这些地址的用户即可。

注意:AD的proxyAddresses属性中,前缀SMTP:(大写)代表用户主邮件地址,smtp:(小写)代表别名地址,地址本身比对不区分大小写,脚本中会统一做标准化处理避免漏判。
运行脚本前请确保机器已安装RSAT AD管理工具,使用具备AD用户读取权限的账号执行。

调整后完整脚本

Import-Module ActiveDirectory -ErrorAction Stop

# 拉取全量AD用户的所有SMTP类型代理地址,做标准化映射
$allProxyRecords = Get-ADUser -Filter * -Properties proxyAddresses | ForEach-Object {
    $userRef = $_
    $userRef.ProxyAddresses | Where-Object { $_ -match '^smtp:' } | ForEach-Object {
        [PSCustomObject]@{
            UserName          = $userRef.Name
            UserDN            = $userRef.DistinguishedName
            StandardizedAddr  = $_.ToLower()
            OriginalAddr      = $_
        }
    }
}

# 统计出现次数≥2的重复代理地址
$duplicateAddrList = $allProxyRecords | Group-Object StandardizedAddr | Where-Object Count -ge 2 | Select-Object -ExpandProperty Name

# 筛选持有重复地址的用户,组装报告字段
$conflictReport = $allProxyRecords | Where-Object StandardizedAddr -in $duplicateAddrList | Group-Object UserName | ForEach-Object {
    [PSCustomObject]@{
        UserName              = $_.Name
        UserLocation          = $_.Group[0].UserDN
        OwnedProxyAddresses   = $_.Group.OriginalAddr -join ";"
        ConflictedAddress     = $_.Group.StandardizedAddr -join ";"
    }
}

# 导出UTF8编码的CSV报告,避免中文乱码
$conflictReport | Export-Csv -Path C:\AD_ProxyAddr_Conflict_Report.csv -NoTypeInformation -Encoding UTF8

导出字段说明

  • UserName:存在冲突的AD用户显示名
  • UserLocation:用户的AD可分辨名称,可直接定位用户所在组织单元
  • OwnedProxyAddresses:该用户名下涉及冲突的原始代理地址,保留原前缀大小写可直接区分主地址/别名
  • ConflictedAddress:标准化后的重复地址值,可直接对照确认冲突项

如果需要缩小排查范围,可在Get-ADUser的Filter参数中增加筛选条件,比如传入-Filter {Enabled -eq $true}即可仅统计启用状态的用户,过滤掉禁用账号、系统内置账号的无效数据。

内容的提问来源于stack exchange,提问作者Senior Systems Engineer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 07:45:30