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

如何用PowerShell导出AD用户MemberOf字段仅保留CN值?

解决AD用户导出中MemberOf字段截断与组名提取问题

直接用修改后的脚本即可解决你的问题:

Get-ADUser -Filter * -Properties displayname, MemberOf -SearchBase "OU=xxx,OU=xxx,OU=xxx,DC=xx,DC=xx" | 
    Select-Object displayname, 
        @{
            Name = 'MemberOf'
            Expression = {
                if ($_.MemberOf) {
                    $_.MemberOf | ForEach-Object {
                        [regex]::Match($_, 'CN=([^,]+)').Groups[1].Value
                    } -join ';'
                }
            }
        } | 
    Export-Csv -Path C:\Script\Export.csv -NoTypeInformation -Encoding UTF8

关键修改点说明:

  • 精准加载属性:把Properties *改成Properties displayname, MemberOf,只获取需要的字段,既节省资源又避免冗余数据
  • 提取组名:用正则表达式CN=([^,]+)从LDAP路径里抠出CN后面的组名,自动过滤掉后续的OU/DC信息
  • 避免截断:把多个组名用分号;拼接成单个字符串,彻底解决PowerShell数组输出截断的问题
  • 优化CSV输出:加-NoTypeInformation去掉文件开头的类型注释行,-Encoding UTF8防止中文乱码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 03:37:21