Как получить список групп без ManageBy из определенного подразделения в Active Directory с Powershell - PullRequest
0 голосов
/ 18 мая 2018

Надеюсь, кто-нибудь может мне помочь. Я пытаюсь войти в определенную организационную единицу, которая содержит несколько групп, и я хочу отобразить те, которые имеют пустое поле ManageBy. Проблема, которую я не знаю, как преодолеть, главным образом, состоит в том, как вывести все группы из OU, в которых я не нуждаюсь или хочу, чтобы фактические пользователи групп, просто группы, называли группы и группы без * 1002. * поле из этого OU. Я знаю, как получить группы и показать их имена, делая.

Get-ADGroup -Filter 'Names "*"'

Это просто перечислит все группы во всей Active Directory, а не только конкретное подразделение, и я не знаю, как отфильтровать только те, которые имеют пустое поле ManageBy. Единственное, что я могу придумать для получения групп без ManagedBy, это

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

Единственное, о чем я мог подумать, - это создать переменную и присвоить ей конкретное подразделение, а затем получить группы из этой переменной.

Но я не знаю, возможно ли вообще работать. Я действительно новичок в PowerShell и Active Directory, поэтому любая помощь будет отличной. Если бы кто-то мог помочь мне с этим, я был бы признателен.

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Если вы собираетесь использовать 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"
0 голосов
/ 18 мая 2018

Выполнение простого Get-Help Get-ADGroup -Full (или переход по этой ссылке ), вероятно, даст вам искомый ответ, но ради других, возможно, желающих получить эту информацию, вы можете использовать -SearchBase параметр для указания OU для поиска.

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

Если вы не хотите включать дочерние OU, вам также следует указать -SearchScope 0.

...