如何将组从 Exchange Online 匹配到 Azure AD?

How do I match groups from Exchange Online to Azure AD?

我想唯一标识 Exchange Online 中使用的组,以便我可以在 Azure AD 中找到相同的组。在我的例子中,该组对 PowerShell 中 Get-MailboxPermission 返回的邮箱具有权限。

使用 ExchangePowerShell-模块中的 Get-Group cmdlet 时,我得到了一些识别属性,但其中 none 有助于识别相同的属性Azure AD 中的组:

在 Azure AD 中,我还有一整套标识属性(例如图形 API):

看来我唯一的选择是使用 DisplayName 和 WindowsEmailAddress/Mail 的组合,这太可怕了?

有没有其他方法可以唯一地标识组以将它们匹配在一起?

更新: 我的场景如下: 我需要处理所有邮箱的所有权限:

  1. 基本上每个邮箱我都叫Get-MailboxPermission
  2. 通过扩展 属性 用户,我可以获得允许的用户或组的 Exchange-SID。
  3. 然后我可以将此 Exchange-SID 与 Get-UserGet-Mailbox cmdlet 返回的用户或组匹配。
  4. 我可以通过匹配 Get-User 返回的 ExternalDirectoryObjectId 找到相应的 Azure AD 用户。
  5. 该组没有 属性 ExternalDirectoryObjectId,也没有其他可以在 Azure AD 中找到的唯一标识且不可更改的 属性。

案例 1:将图表 API 中的组 ID 匹配到 Exchange Online Commandlets

从图表中获取组列表并将其与 Exchange Online 命令行开关中的组匹配。

从图表 API 中获取的 ID 将与 Get-Group

的 ID 相匹配

以下是图表响应的片段:

{
            "id": "c0749057-8163-4228-be88-1a0df3aab7b1",
            "deletedDateTime": null,
            "classification": null,
            "createdDateTime": "2020-09-08T11:21:53Z",
            "creationOptions": [],
            "description": "This is a new Group",
            "displayName": "NewGroup1",
            "expirationDateTime": null..............
           

如果你得到 Id : c0749057-8163-4228-be88-1a0df3aab7b1 & 运行 下面的命令,你会得到相应的组 :

Get-Group -Identity "c0749057-8163-4228-be88-1a0df3aab7b1" 

输出:

案例 2:将 Exchange Online Commandlet 中的组 ID 与图形组 ID 匹配

(更新)

只有统一组在图表中可见 APIs(或)将具有 ExternalDirectoryObjectId

所以你可以运行

(Get-UnifiedGroup -Identity <Your Exchange Group ID>).ExternalDirectoryObjectId

这将 return 组的 Azure AD 对象 ID。

HTH!