【发布时间】: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 的组合,这太可怕了?
有没有其他方法可以唯一地识别组以将它们匹配在一起?
更新: 我的情况如下: 我需要处理所有邮箱的所有权限:
- 我基本上每个邮箱都调用
Get-MailboxPermission。 - 通过扩展属性 User,我可以获得允许的用户或组的 Exchange-SID。
- 然后我可以将此 Exchange-SID 与
Get-User或Get-Mailboxcmdlet 返回的用户或组进行匹配。 - 我可以通过匹配
Get-User返回的ExternalDirectoryObjectId找到对应的Azure AD用户。 - 该组没有
ExternalDirectoryObjectId属性,也没有其他可以在 Azure AD 中找到的唯一标识和不可更改的属性。
【问题讨论】:
标签: powershell azure-active-directory microsoft-graph-api office365 exchange-server