【问题标题】:How do I match groups from Exchange Online to Azure AD?如何将 Exchange Online 中的组匹配到 Azure AD?
【发布时间】:2020-12-26 13:18:21
【问题描述】:

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

当使用 ExchangePowerShell-Module 中的 Get-Group cmdlet 时,我得到了一些识别属性,但这些属性都无助于识别 Azure AD 中的同一组:

  • DisplayName(非唯一且不可更改)
  • SamAccountName(无法通过 Graph API 或 AzureAD PowerShell 模块获得)
  • Sid(特定于 Exchange Online,与 Azure AD 中的不同)
  • WindowsEmailAddress(可更改,不需要)
  • ExchangeObjectId(无法通过 Graph API 或 AzureAD PowerShell 模块获得)

在 Azure AD 中,我有一组完整的其他标识属性(例如 Graph API):

  • ID(Azure AD 中显示的 ObjectID,在 Exchange Online 中不可用)
  • DisplayName(非唯一且不可更改)
  • 邮件(可更改,不需要)
  • SecurityIdentifier(特定于 Azure AD,与 Exchange Online 中的不同)

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

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

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

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

【问题讨论】:

    标签: powershell azure-active-directory microsoft-graph-api office365 exchange-server


    【解决方案1】:

    案例 1:将组 ID 从 Graph API 匹配到 Exchange Online Commandlets

    从图表中获取组列表并将其与 Exchange Online Commandlets 中的组匹配。

    从 Graph API 获得的 Id 将与 Get-Group 的 Id 匹配

    以下是 Graph 响应的 sn-p :

    {
                "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 Commandlets 中的组 ID 与图形组 ID 匹配

    更新

    只有统一的组将在图形 API 中可见(或)将具有 ExternalDirectoryObjectId

    这样你就可以跑了

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

    这将返回组的 Azure AD 对象 ID。

    HTH!

    【讨论】:

    • @manuel 我已经更新了相反情况的答案。请检查并告诉我
    • 非常感谢您的绝对有用的回答!我已经在我原来的问题中澄清了我的用例。这意味着我必须为每个可用于邮箱权限的 Azure AD 组单独调用 Get-Group。由于这相当低效并且可能很慢或容易受到限制,我想问:没有其他方法吗? :-) 情况 2 并不真正适用,因为这些组很容易成为启用邮件的安全组,因此 Get-UnifiedGroup 无法找到。
    • @Manuel - 我已经快速检查了命令行开关 不幸的是,据我研究,我没有看到其他方法。 ——
    • 谢谢!低效的方法总比没有好:-)。
    猜你喜欢
    • 1970-01-01
    • 2017-07-12
    • 2022-10-18
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多