当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Get-MgGroup -过滤器示例

作者:精品下载站 日期:2024-12-14 20:55:51 浏览:15 分类:玩电脑

Get-MgGroup -过滤器示例


[玩转系统] Get-MgGroup -过滤器示例

Get-MgGroup 命令带有过滤功能,就像 Get-ADGroup 一样。

但如果您期待 Get-ADGroup LdapFilter 开关 或 PowerShell 表达式语言 Filter 开关 的强大功能,那么您将会大吃一惊……

Get-MgGroup 过滤器使用 OData v3,该版本过于复杂且缺乏大量功能。

不幸的是,在大多数情况下,更好的选择是检索所有组对象并在本地执行过滤。

以下部分将演示 Get-MgGroup Filter 选项的一些用法。

如果您更喜欢简单的 GUI 而不是复杂的 PowerShell 脚本,请查看 Easy365Manager:

Easy365Manager 是 Active Directory 用户和计算机的一个管理单元,整合了 Office 365 和 Active Directory 管理

使用 Easy365Manager,您可以直接从 AD 执行所有日常 Office 365 管理。这包括通常需要 PowerShell 的任务,例如日历权限的配置,如上面的示例所示。

请在此处查看完整的 Easy365Manager 功能列表。

在此下载功能齐全的 30 天试用版。

Get-MgGroup 过滤器运算符

Get-MgGroup 命令的过滤器开关基于 oData v3.0 过滤构建。

这与 Get-ADGroup -Filter 使用的 PowerShell 表达式语言筛选器相反,后者又不同于非常基本的 Get-MsolGroup -SearchString 筛选器选项。

如果微软的各个开发团队能够协调他们的努力,那就太好了……?

下面详细介绍了 Get-MgGroup 过滤可用的基本运算符:

OperatorMeaningSample expression eqEqual toDisplayName eq ‘Tycho Brahe’ andAndCountry eq ‘Germany’ and Department eq ‘Marketing’ orOrCountry eq ‘Germany’ or Country eq ‘France’

请注意,Like 过滤器不可用 - 无法搜索 MS Graph 组属性中的子字符串,这严重限制了用例。 Not 过滤器等也是如此。

唯一可用的通配符搜索类型是“startswith”过滤器。

此外,还可以使用“any”过滤器搜索多值属性的值。

然而,这样做的一个重要限制是无法搜索复杂的对象类型属性,例如“AssignedLicenses”。

Get-MgGroup 过滤器示例

下面您将找到 Get-MgGroup 过滤器语法的一些基本示例。

Get-MgGroup -Filter "DisplayName eq 'E5_Licenses'"
Get-MgGroup -Filter "DisplayName eq 'E3_Licenses' or DisplayName eq 'E5_Licenses'"
Get-MgGroup -Filter "startswith(displayName,'US.')"
Get-MgGroup -Filter "proxyAddresses/any(p:startswith(p,'smtp:sales'))"

但正如文章开头提到的:

Get-MgGroup Filter 参数的用例非常有限。在大多数情况下,您被迫检索所有组并使用 PowerShell 表达式语言过滤器在本地执行过滤,例如:

Get-MgGroup -All | Where-Object {$_.DisplayName -like "*marketing*"}
Get-MgGroup -Property AssignedLicenses,DisplayName -All | Where-Object {$_.AssignedLicenses.SkuId -eq "c42b9cae-ea4f-4ab7-9717-81576235ccac"} | ft DisplayName

尽管这种方法在大型环境中可能表现不佳,但它提供了更多的选项和灵活性。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯