最常用且可靠的方式是用PowerShell的Get-ADUser配合Export-Csv;需先安装RSAT-AD-PowerShell模块,导入ActiveDirectory模块后,通过-Filter筛选、-Properties指定扩展属性、Select-Object定制列名与顺序,导出CSV文件。
批量导出ad域用户详细属性,最常用且可靠的方式是用 powershell 的 get-aduser 配合 export-csv。它比图形工具更精准、可定制性强,还能一次拉取几十个字段,包括邮箱、部门、电话、登录脚本、密码最后设置时间等内置属性。
准备:确保环境能运行AD PowerShell命令
必须在已安装 RSAT-AD-PowerShell 模块的机器上操作(域控制器或装了RSAT的Windows 10/11/Server):
- Windows Server:以管理员身份运行 PowerShell,执行 Install-WindowsFeature -Name RSAT-AD-PowerShell
- Windows 10/11:设置 → 应用 → 可选功能 → 添加 “RSAT: Active Directory Domain Services and Lightweight Directory Services Tools”
- 启动后先导入模块:Import-Module ActiveDirectory
- 确认当前账户有读取目标OU或全域用户的权限
基础导出:所有用户+常用属性
以下命令导出整个域中所有启用用户的姓名、登录名、邮箱、部门、职位、电话、OU路径和最后登录时间:
Get-ADUser -Filter * -Properties DisplayName,EmailAddress,Department,Title,OfficePhone,DistinguishedName,LastLogonDate | Select-Object Name,SamAccountName,DisplayName,EmailAddress,Department,Title,OfficePhone,DistinguishedName,LastLogonDate | Export-Csv -Path "C:\AD_Users_Report.csv" -Encoding UTF8 -NoTypeInformation注意:-Properties 后列出你想导出的扩展属性(默认只返回基础字段),Select-Object 决定最终CSV里显示哪些列,顺序也由它控制。
按条件筛选再导出(更实用)
日常运维中很少需要全量导出,建议加过滤条件避免数据冗余或权限越界:
- 只导出某OU下用户(含子OU):-SearchBase "OU=Sales,DC=contoso,DC=com"
- 只导出已禁用账户:-Filter {Enabled -eq $false}
- 导出最近30天内登录过的用户:-Filter {LastLogonDate -ge (Get-Date).AddDays(-30)}
- 导出包含特定关键词的邮箱:-Filter "EmailAddress -like '*@marketing.contoso.com'"
导出自定义属性或中文字段名
有些属性名是英文系统字段(如physicalDeliveryOfficeName对应“办公地点”),导出时可重命名列名提升可读性:
Get-ADUser -Filter * -Properties physicalDeliveryOfficeName,manager | Select-Object Name,@{Name="办公地点";Expression={$_.physicalDeliveryOfficeName}},@{Name="直属主管DN";Expression={$_.manager}} | Export-Csv ...也可用 Get-ADObject 或 LDIFDE 导出原始LDAP属性(适合架构级审计),但日常清单管理推荐 PowerShell 方式——稳定、易读、无需手写LDF格式。


















