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

访问审查需求:如何获取含ManagedBy值的AD安全组并显示其全名?

获取指定Active Directory安全组列表的优化方案

你当前的代码存在两个核心问题:一是ManagedBy字段返回的是AD对象的可分辨名称(DN)而非全名,二是用-Properties *会加载所有属性,拖慢执行效率。以下是优化后的解决方案:

优化代码

Get-ADGroup -Filter {ManagedBy -ne "$null" -and GroupCategory -eq "Security"} -Properties ManagedBy | 
    Select-Object Name, SamAccountName, 
        @{Name="ManagedByFullName"; Expression={
            if ($_.ManagedBy) {
                (Get-ADObject -Identity $_.ManagedBy -Properties DisplayName).DisplayName
            }
        }}

关键说明

  • 过滤器优化:用ManagedBy -ne "$null"替代Managedby -contains "*",能精准筛选出ManagedBy字段有有效值的安全组,避免匹配空值或格式无效的条目。
  • 属性按需加载:把-Properties *改成明确指定ManagedBy,减少不必要的属性加载,提升命令运行速度。
  • 转换为全名:通过计算属性ManagedByFullName,调用Get-ADObject根据ManagedBy的DN获取对应的DisplayName(即全名)。Get-ADObject兼容用户、组等各类AD对象管理者的场景,比仅针对用户的Get-ADUser适用性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:10:54