我们有具有以下命名约定的 Azure AD 组:Department_GroupName_Membership 类型(具有三个选项:访问者/成员/所有者)。我需要能够将用户添加到 Department_XY 的所有组,成员类型为“Member”。 IE。类似 Department_XY_{GroupName}_Member
的东西。我无法弄清楚如何检索此类组的列表。 -Filter
Cmdlet 的 Get_AzureAdGroup
参数应采用的 ODATA 过滤器子句工作异常。
例如 Get-AzureADGroup -Filter "startswith(DisplayName, 'Department_XY')"
工作正常,但是,Get-AzureADGroup -Filter "endswith(DisplayName, 'Member')
会引发错误。所以我认为有更好的方法来做到这一点?我安装了 AzureAD 模块。
最佳答案
-SearchString
似乎不接受任何通配符,只搜索 DisplayName
值的开头,即有效的 .StartsWith(string)
。-Filter
使用 OData v3 查询语言(除非已更新到 v4)。但是,无论出于何种原因,包括 endswith()
和 substringof()
在内的许多函数都不可用。
您可以使用 -SearchString
和 Where-Object
或 -Filter
和 Where-Object
的组合来创建高效查询。
Get-AzureAdGroup -SearchString 'Department_XY' -All $true |
Where-Object { $_.DisplayName.EndsWith('Member') }
关于powershell - 在 Azure AD 组中搜索多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59547039/