单脚本从多OU提取AD用户列表并导出含所属OU信息CSV的PowerShell需求
PowerShell 域环境AD用户及所属OU信息提取脚本
前置运行要求
- 运行脚本的设备需安装Active Directory 模块:域控制器默认已安装,非域控设备可通过安装RSAT(远程服务器管理工具)的AD PowerShell组件获取。
- 运行账号需具备AD域用户的读取权限。
完整脚本
# 导入Active Directory模块 Import-Module ActiveDirectory -ErrorAction Stop # 提取所有AD用户属性并解析所属OU,导出为CSV Get-ADUser -Filter * -Properties EmailAddress, LastLogonDate, WhenCreated | Select-Object ` 姓名 = Name, 登录名 = SamAccountName, UPN = UserPrincipalName, 邮箱 = EmailAddress, 账号状态 = Enabled, 最后登录时间 = LastLogonDate, 创建时间 = WhenCreated, 所属OU = { $_.DistinguishedName -replace '^CN=[^,]+?,', '' }, 完整DN路径 = DistinguishedName | Export-Csv -Path "C:\AD用户全量信息.csv" -Encoding UTF8 -NoTypeInformation
脚本说明
- 你可以根据实际需求增删
Select-Object下的字段,如需导出更多AD用户属性,先将属性名添加到Get-ADUser的-Properties参数列表中,再在选择字段处新增对应映射即可。 所属OU字段通过解析用户的完整可分辨名称(DN)移除用户名段生成,如果你需要获取更上层的OU层级,可自行调整正则匹配规则。- 导出的CSV默认使用UTF8编码,避免中文用户名、OU名出现乱码,你可以修改
-Path参数自定义导出文件的保存路径。
内容的提问来源于stack exchange,提问作者Chandra tarak
相关产品推荐
相关产品推荐

