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

通过旧邮箱获取AD用户ProxyAddresses属性中的新旧邮箱

用旧邮箱查询AD用户的所有proxyAddresses地址

原来的脚本只能通过当前主邮箱获取AD用户的proxyAddresses属性,原因是它只过滤了EmailAddress字段——这个字段存储的是用户当前的主邮箱,而旧邮箱一般保存在多值属性proxyAddresses中,所以用旧邮箱查询时返回空结果。

要实现仅通过旧邮箱就能获取用户所有新旧邮箱地址,只需要修改Get-ADUser的过滤条件,直接匹配proxyAddresses属性即可:

# 替换成要查询的旧邮箱地址
$oldEmail = "old-user@example.com"

# 查询proxyAddresses中包含该旧邮箱的AD用户
$user = Get-ADUser -Filter "proxyAddresses -like '*$oldEmail*'" -Properties proxyAddresses

# 输出该用户所有的邮箱地址(包含新旧)
$user.proxyAddresses

说明

  • proxyAddresses是AD用户的多值属性,里面的地址格式通常为SMTP:主邮箱地址(大写SMTP标识主邮箱)或smtp:别名/旧邮箱地址(小写smtp标识别名/旧邮箱)。
  • 使用-like '*$oldEmail*'可以忽略前缀直接匹配邮箱地址部分,确保能命中所有包含该旧邮箱的用户记录,适用性更广。
  • 如果需要精确匹配特定前缀的地址,可以调整过滤条件:
    $user = Get-ADUser -Filter { proxyAddresses -eq "smtp:$oldEmail" -or proxyAddresses -eq "SMTP:$oldEmail" } -Properties proxyAddresses
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:52:07