如何在 PowerShell 中获取以“ABC_”开头的 Active Directory 组名称列表?

A.C*_*des 2 powershell active-directory

我是 PowerShell 的新手,我正在尝试获取以相同命名约定开头的 Active Directory 项目列表,例如,我有许多以“ABC_Group1”、“ABC_Group2”、“ABC_Group3”开头的组。

我知道:

get-adgroup "ABC_Group1"
Run Code Online (Sandbox Code Playgroud)

将列出该特定组

'get-adgroup -filter * | sort name | select Name' 
Run Code Online (Sandbox Code Playgroud)

将列出所有组,但我不知道如何过滤以查找以“ABC_”开头的特定组

然后我想列出它的成员。

Ran*_*tta 5

您可以使用带有 Where 条件的通配符搜索。在较新的 PS 版本中,where 子句可以用作Filter

Import-Module ActiveDirectory

Get-ADGroup -Filter {Name -like 'ABC_*'}  -Properties * | select -property SamAccountName,Name,Description,DistinguishedName,CanonicalName,GroupCategory,GroupScope,whenCreated
Run Code Online (Sandbox Code Playgroud)

由于 OP 也要求获取组成员,因此这里是一段可以帮助您的代码:

Get-ADGroup -Filter {Name -like 'ABC_*'} -SearchBase "DC=YourDC" | Get-ADGroupMember -Partition "DC=YourDC"
Run Code Online (Sandbox Code Playgroud)

或者

Get-ADGroup 'Group Name' -Properties Member | Select-Object -ExpandProperty Member
Run Code Online (Sandbox Code Playgroud)

或使用点表示法:

(Get-ADGroup 'Group Name' -Properties Member).Member
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。