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

如何修改PowerShell AD用户查询脚本以添加用户组及经理信息?

修改后的PowerShell脚本
Get-ADUser -Filter {Enabled -eq $TRUE} -Properties PasswordLastSet, PasswordNeverExpires, LastLogonDate, Manager, MemberOf |
    Select-Object Name,
                  PasswordLastSet,
                  PasswordNeverExpires,
                  LastLogonDate,
                  DistinguishedName,
                  @{Name='ManagerName'; Expression={if ($_.Manager) { (Get-ADUser $_.Manager).Name } else { '无' }}},
                  @{Name='MemberOfGroups'; Expression={($_.MemberOf | ForEach-Object { (Get-ADGroup $_).Name }) -join ';'}} |
    Export-Csv -Path 'C:\Temp\passlastset_enabledusers.csv' -NoTypeInformation
关键修改说明
  • 新增需获取的AD属性:在Get-ADUser的-Properties参数里加入Manager和MemberOf——这两个属性不属于AD用户默认返回的集合,必须显式声明才能调取。
  • 转换经理信息为可读格式:通过自定义计算属性ManagerName,把Manager字段存储的LDAP路径转换为直观的经理姓名,同时处理空值场景,避免输出无效内容。
  • 转换所属组为可读名称:用自定义属性MemberOfGroups将MemberOf中的组LDAP路径批量转为组名称,再用分号拼接成字符串,方便在CSV中查看完整组列表。
  • 优化CSV输出:添加-NoTypeInformation参数,消除CSV文件开头的冗余类型信息行,让输出更整洁。
大域环境性能优化方案

如果域内用户数量较多,逐个调用Get-ADUser和Get-ADGroup会拖慢执行速度,可提前批量缓存用户和组的映射关系:

# 预缓存所有AD用户的DN与姓名映射
$userCache = @{}
Get-ADUser -Filter * -Properties Name | ForEach-Object { $userCache[$_.DistinguishedName] = $_.Name }

# 预缓存所有AD组的DN与名称映射
$groupCache = @{}
Get-ADGroup -Filter * -Properties Name | ForEach-Object { $groupCache[$_.DistinguishedName] = $_.Name }

# 执行用户查询并从缓存取值
Get-ADUser -Filter {Enabled -eq $TRUE} -Properties PasswordLastSet, PasswordNeverExpires, LastLogonDate, Manager, MemberOf |
    Select-Object Name,
                  PasswordLastSet,
                  PasswordNeverExpires,
                  LastLogonDate,
                  DistinguishedName,
                  @{Name='ManagerName'; Expression={$userCache[$_.Manager] ?? '无'}},
                  @{Name='MemberOfGroups'; Expression={($_.MemberOf | ForEach-Object { $groupCache[$_] }) -join ';'}} |
    Export-Csv -Path 'C:\Temp\passlastset_enabledusers.csv' -NoTypeInformation

这种方式仅需两次批量查询,后续直接从缓存字典取值,能大幅提升大域环境下的执行效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 06:21:37