Powershell 对于以XX和YY开头的组,获取AzureADGroup

Powershell 对于以XX和YY开头的组,获取AzureADGroup,powershell,azure-active-directory,Powershell,Azure Active Directory,我需要知道如何才能得到一份以XX和YY开头的所有组的列表 到目前为止我已经试过了 Get-AzureADGroup -SearchString 'XX' Get-AzureADGroup -SearchString 'YY' Get-AzureADGroup -SearchString 'ZZ' 它显示了结果,但我想知道如何在一个查询中完成它 我也试过了 $group = 'XX', 'YY', 'ZZ' foreach($groupNames in $group) { Get-AzureAD

我需要知道如何才能得到一份以XX和YY开头的所有组的列表

到目前为止我已经试过了

Get-AzureADGroup -SearchString 'XX'
Get-AzureADGroup -SearchString 'YY'
Get-AzureADGroup -SearchString 'ZZ'
它显示了结果,但我想知道如何在一个查询中完成它

我也试过了

$group = 'XX', 'YY', 'ZZ'
foreach($groupNames in $group) {
Get-AzureADGroup}

但它显示了它不应该显示的内容,并获得了3次每个结果。

Get AzureADGroup
支持OData筛选器,因此您应该能够通过执行以下操作对以
XX
开头的组进行通配符搜索:

Get-AzureADGroup-Filter“startswith(Name,'XX')”
考虑到这一点,我们可以生成如下的筛选器语句:

#定义前缀
$group='XX','YY','ZZ'
#生成筛选子句并连接
$filter=$group.ForEach({“startswith(名称,${}')”})-join'或'
#检索匹配组
获取AzureADGroup-过滤器$Filter

参数
-SearchString
应用隐式的
启动功能。因此
-SearchString“XX”
将匹配
XX我的组
,但不匹配
My-Group XX
。因此,您可以执行以下操作:

$group = 'XX', 'YY', 'ZZ'
foreach($groupName in $group) {
    Get-AzureADGroup -SearchString $groupName
}

Get AzureADGroup-SearchString$groupNames
在你的循环中。这实际上解决了问题,我很感激,如果你想把它作为答案,我将关闭这个问题。据我所知,
SearchFilter
在搜索时使用隐式的
StartWith*
。这太完美了!非常感谢你@还有其他答案吗?