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

如何用PowerShell导出名称含E3的AD组内所有O365用户详细信息

PowerShell批量导出所有含E3名称AD组下的用户信息脚本

直接使用如下脚本即可实现需求:

# 定义输出文件路径,可自行修改为你需要的路径
$outputPath = "c:\temp\365\O365E3LicenseUsers.csv"
# 自动创建输出目录,避免路径不存在报错
$outputDir = Split-Path $outputPath -Parent
if (-not (Test-Path $outputDir)) {
    New-Item -ItemType Directory -Path $outputDir -Force | Out-Null
}

# 查询所有名称包含E3的AD组
Get-ADGroup -Filter "Name -like '*E3*'" | ForEach-Object {
    # 递归获取每个组下的所有用户成员
    Get-ADGroupMember -Identity $_.DistinguishedName -Recursive | Where-Object ObjectClass -eq "user"
} | Get-ADUser -Properties DisplayName, SamAccountName, UserPrincipalName, Mail, Manager, Department, Enabled | 
# 选择需要导出的字段,按UserPrincipalName去重避免同一用户多组重复导出
Select-Object DisplayName, SamAccountName, UserPrincipalName, Mail, Manager, Department, Enabled | 
Unique -Property UserPrincipalName |
# 导出为CSV,关闭类型信息、使用UTF8编码避免中文乱码
Export-Csv -Path $outputPath -NoTypeInformation -Encoding UTF8

脚本说明

  • 核心逻辑通过Get-ADGroup -Filter "Name -like '*E3*'"批量匹配所有名称带E3的AD组,无需手动逐个指定组名
  • 新增自动去重逻辑,避免同一用户属于多个E3组时重复出现在导出结果中
  • 把原脚本的-Properties *改为仅指定需要查询的属性,大幅提升AD查询效率,适合用户量较大的场景
  • 新增输出目录自动创建逻辑、UTF8编码配置,避免路径不存在报错、中文乱码问题

注意事项

  • 脚本需要在安装了ActiveDirectory PowerShell模块的设备上运行,可通过Install-WindowsFeature RSAT-AD-PowerShell安装对应模块
  • 如果你需要限定查询的组的OU范围,可以在Get-ADGroup后添加-SearchBase "OU=许可组,DC=你的域名,DC=后缀"参数,避免匹配到其他无关的带E3名称的组
  • 如果需要导出更多用户属性,只需在Get-ADUser的-Properties参数和Select-Object的字段列表中同步添加对应属性名即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:36:04