Как получить список имен групп Active Directory, начинающихся с «ABC_» в PowerShell? - PullRequest
1 голос
/ 20 января 2020

Я новичок в PowerShell и пытаюсь получить список элементов Active Directory, которые начинаются с того же соглашения об именах, например, у меня есть несколько групп, начинающихся с "ABC_Group1", "ABC_Group2", "ABC_Group3".

Я знаю, что:

get-adgroup "ABC_Group1"

выведет список, который определит c group

'get-adgroup -filter * | sort name | select Name' 

, покажет все группы, но я не знаю, как фильтровать чтобы найти только указанные c группы, начинающиеся с "ABC_"

, я хочу перечислить их членов.

Ответы [ 2 ]

3 голосов
/ 20 января 2020

Вы можете использовать поиск по шаблону с условием Где. В более новой версии PS предложение where может использоваться как Filter

Import-Module ActiveDirectory

Get-ADGroup -Filter {Name -like 'ABC_*'}  -Properties * | select -property SamAccountName,Name,Description,DistinguishedName,CanonicalName,GroupCategory,GroupScope,whenCreated

Поскольку ОП попросил также получить членов группы, вот фрагмент кода, который поможет вам:

Get-ADGroup -Filter {Name -like 'ABC_*'} -SearchBase "DC=YourDC" | Get-ADGroupMember -Partition "DC=YourDC"

ИЛИ

Get-ADGroup 'Group Name' -Properties Member | Select-Object -ExpandProperty Member

ИЛИ используйте обозначение точки:

(Get-ADGroup 'Group Name' -Properties Member).Member

Надеюсь, это поможет.

1 голос
/ 20 января 2020

Я провел некоторое исследование и поиграл с кодом, и получается, что

Get-ADGroup -Filter "name -like '*ABC_*'" | sort name перечисляет все группы, которые имеют "ABC _"

Однако это также означает, что это выведет список каталогов, таких как «Group_ABC_». Однако я хочу перечислить только те каталоги, которые начинаются с "ABC _"

...