0

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

Get-ADGroup -Filter 'Names "*"'

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

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

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

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

4

2 回答 2

2

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

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"
于 2018-05-18T13:18:01.450 回答
0

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

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

如果您不想包含任何子 OU,那么您还需要指定-SearchScope 0.

于 2018-05-18T00:22:39.313 回答