【问题标题】:How to get all security groups that contain managedby?如何获取所有包含managedby的安全组?
【发布时间】:2023-01-25 10:39:15
【问题描述】:

作为访问审查的一部分,我需要提供一份安全组报告。我想知道如何才能获得 managedby 字段具有值的所有安全组的列表。

另外,我希望 managedby 只显示全名

这是我所拥有的

get-ADGroup -filter {(Managedby -contains "*") -and (GroupCategory -eq "Security")} -Properties * | Select Name, SamAccountName, ManagedBy

【问题讨论】:

  • 您从该查询中得到了什么,它与您想要的有何不同?

标签: powershell active-directory


【解决方案1】:

您的代码几乎是正确的,问题是-containsPowerShell comparison operatorActive Directory Filter 不支持。

搜索属性时不为空 (通常):

  • 使用-Filter
"attributeName -like '*'"
  • 使用-LDAPFilter
"(attributeName=*)"

但是不幸的是,对于这种情况,我不知道如何使用-Filter(我个人不喜欢它)来执行此过滤器,如果您尝试:

Get-ADGroup -Filter "managedby -like '*'"

你会得到以下错误:

Get-ADGroup:运算符:以下:“Eq”、“Ne”是唯一支持在扩展上搜索的运算符 属性:'ManagedBy'。

所以,使用-LDAPFilter,你的代码应该是这样的:

$params = @{
    LDAPFilter = '(&(ManagedBy=*)(groupType:1.2.840.113556.1.4.803:=2147483648))'
    Properties = 'Name', 'SamAccountName', 'ManagedBy'
}
Get-ADGroup @params | Select-Object $params['Properties']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2021-02-17
    • 2014-06-26
    • 2022-01-20
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多