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

使用PowerShell的Get-ADGroup命令导出用户邮箱地址时遇错求助

问题分析与解决

你报错的核心原因:AD组对象本身没有EmailAddress属性,你在Get-ADGroup的-Properties参数里指定这个不存在的属性,系统找不到对应字段,所以执行失败。而且你要获取的是用户的邮箱地址,这个属性属于AD用户对象,并非组对象。

下面是修正后的脚本,可正确导出用户邮箱地址及所需信息:

$ou = 'distinguishedName of my OU'
Get-ADGroup -Filter * -SearchBase $ou -Properties Description | ForEach-Object {
    $currentGroup = $_
    # 仅处理组内的用户成员,排除嵌套组、计算机等非用户类型
    Get-ADGroupMember $currentGroup | Where-Object { $_.objectClass -eq 'user' } | ForEach-Object {
        # 获取用户对象的邮箱属性(Get-ADGroupMember返回的用户对象默认不含邮箱)
        $user = Get-ADUser $_ -Properties EmailAddress
        [pscustomobject]@{
            SamAccountName = $user.SamAccountName
            Name           = $user.Name
            EmailAddress   = $user.EmailAddress
            GroupName      = $currentGroup.Name
            GroupDescription = $currentGroup.Description
        }
    }
} | Export-Csv C:\Users\Me\Desktop\MyFile.csv -NoTypeInformation

关键修正说明:

  • 删除了Get-ADGroup中无效的EmailAddress属性请求
  • 新增过滤逻辑,只处理组内的用户成员,避免无效数据
  • 通过Get-ADUser主动获取用户的EmailAddress属性,补全Get-ADGroupMember返回对象缺失的字段
  • 调整组描述的字段名为GroupDescription,避免和用户自身的描述字段混淆(若需保留原字段名可自行修改)

内容的提问来源于stack exchange,提问作者S.Mahmood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:39:24