繁体   English   中英

如何使用Powershell从Active Directory中的特定OU获取没有ManageBy的组列表

[英]How to get list of groups with no ManageBy from a specific OU in Active Directory with Powershell

希望有人可以帮助我。 我正在尝试进入一个包含多个组的特定组织单位,并且我想显示具有空白ManageBy字段的组织单位。 我最不知道如何克服的问题是如何从我不需要的OU中取出所有组,或者想要组的实际用户只是组的名称和没有ManageBy字段的组从那个OU。 我知道如何进行分组并通过这样做显示名称。

Get-ADGroup -Filter 'Names "*"'

这只会列出整个Active Directory中的所有组,而不仅仅是特定的OU,而且我不知道如何仅过滤具有空白ManageBy字段的组。 对于没有ManagedBy的组,我唯一能想到的就是

Get-ADGroups | Where-Object {$_.ManagedBy -eq $null)

我唯一想到的另一件事是创建一个变量并为其分配一个特定的OU,然后从该变量获取组。

但是我不知道那是否可行。 我真的是PowerShell和Active Directory的新手,所以任何帮助都会很棒。 如果有人可以帮助我解决这个问题,我将不胜感激。

如果要使用Where-Object ,则需要使用-Properties参数要求Get-ADGroup返回ManagedBy属性。 否则,它将始终为null。

Get-ADGroup -Filter * -Properties ManagedBy -SearchBase "OU=My OU,DC=TacoTruck,DC=org" | Where-Object {$_.ManagedBy -eq $null}

但是,如果将结果通过管道传递到Where-Object ,则您向AD索要的东西超出了您的需求。 您将获得OU中的每个组,然后丢弃一些结果。 它将起作用,这只是不必要的流量。

这将仅询问AD您需要什么:

Get-ADGroup -LDAPFilter "(!managedBy=*)" -SearchBase "OU=My OU,DC=TacoTruck,DC=org"

执行简单的Get-Help Get-ADGroup -Full (或转到此链接 )可能会为您提供所需的答案,但是为了其他人可能需要此信息,您可以使用-SearchBase参数指定一个OU进行搜索。

Get-ADGroup -Filter * -SearchBase 'OU=My OU,DC=TacoTruck,DC=org'

如果您不想包括任何子OU,则还需要指定-SearchScope 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM