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

如何用PowerShell获取含用户与联系人的AD组成员列表(带指定属性)

解决PowerShell导出AD组用户和联系人并统一属性的问题

要同时导出AD组内的用户和联系人,且统一显示所需属性,可以通过Get-ADObject兼容两种对象类型,并手动映射统一字段,具体步骤如下:

完整命令示例

# 1. 递归获取目标组的所有成员(包括嵌套组)的DistinguishedName
$groupMembers = Get-ADGroupMember "MyGroupName" -Recursive | Select-Object -ExpandProperty DistinguishedName

# 2. 遍历每个成员,获取AD对象并统一属性字段
$exportData = foreach ($dn in $groupMembers) {
    try {
        # 获取对象及所需原生AD属性(兼容用户和联系人)
        $adObj = Get-ADObject -Identity $dn -Properties company, sn, givenName, mail -ErrorAction Stop
        
        # 构建统一格式的输出对象
        [PSCustomObject]@{
            Company    = $adObj.company
            Surname    = $adObj.sn ?? ($adObj.cn -split ' ', 2)[-1]  # 优先用sn属性,无则从CN拆分姓氏
            GivenName  = $adObj.givenName ?? ($adObj.cn -split ' ', 2)[0] # 优先用givenName,无则从CN拆分名字
            Email      = $adObj.mail
            ObjectType = $adObj.ObjectClass # 可选:标记是用户还是联系人
        }
    }
    catch {
        # 处理获取失败的对象,记录警告并添加错误条目
        Write-Warning "无法读取对象 [$dn] : $_"
        [PSCustomObject]@{
            Company    = "读取失败"
            Surname    = $dn.Split(',')[0].Replace('CN=', '')
            GivenName  = ""
            Email      = ""
            ObjectType = "未知"
        }
    }
}

# 3. 排序并导出为CSV
$exportData | Sort-Object -Property Company, Surname | Export-CSV -Path "$home\Desktop\MyGroupName.csv" -NoTypeInformation

关键说明

  • 兼容对象类型:用Get-ADObject代替Get-ADUser/Get-ADContact,可以同时处理用户和联系人对象,避免类型不匹配报错。
  • 统一属性映射:AD用户的Company/Surname/GivenName其实是原生属性company/sn/givenName的别名,联系人直接使用这些原生属性即可,无需区分对象类型;邮箱属性统一用原生mail(用户的EmailAddress本质也是映射到mail)。
  • 容错处理:添加try/catch捕获获取对象失败的情况,避免脚本中断,同时记录错误信息。
  • 递归获取成员:Get-ADGroupMember -Recursive会自动展开嵌套组内的成员,如果不需要递归,去掉-Recursive即可。

可选优化

如果确认所有联系人都正确设置了sn和givenName属性,可以简化属性映射部分,去掉CN拆分的逻辑:

[PSCustomObject]@{
    Company    = $adObj.company
    Surname    = $adObj.sn
    GivenName  = $adObj.givenName
    Email      = $adObj.mail
    ObjectType = $adObj.ObjectClass
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 00:45:11