如何将组从 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 中的组:
- DisplayName(不唯一且可变)
- SamAccountName(无法通过 Graph API 或 AzureAD PowerShell 模块获得)
- Sid(特定于 Exchange Online,与 Azure AD 不同)
- WindowsEmailAddress(可更改,不是必需的)
- ExchangeObjectId(无法通过 Graph API 或 AzureAD PowerShell 模块获得)
在 Azure AD 中,我还有一整套标识属性(例如图形 API):
- ID(在 Azure AD 中显示的 ObjectID,在 Exchange Online 中不可用)
- DisplayName(不唯一且可变)
- 邮件(可更改,不是必需的)
- SecurityIdentifier(特定于 Azure AD,与 Exchange Online 不同)
看来我唯一的选择是使用 DisplayName 和 WindowsEmailAddress/Mail 的组合,这太可怕了?
有没有其他方法可以唯一地标识组以将它们匹配在一起?
更新:
我的场景如下:
我需要处理所有邮箱的所有权限:
- 基本上每个邮箱我都叫
Get-MailboxPermission
- 通过扩展 属性 用户,我可以获得允许的用户或组的 Exchange-SID。
- 然后我可以将此 Exchange-SID 与
Get-User
或 Get-Mailbox
cmdlet 返回的用户或组匹配。
- 我可以通过匹配
Get-User
返回的 ExternalDirectoryObjectId
找到相应的 Azure AD 用户。
- 该组没有 属性
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!
我想唯一标识 Exchange Online 中使用的组,以便我可以在 Azure AD 中找到相同的组。在我的例子中,该组对 PowerShell 中 Get-MailboxPermission
返回的邮箱具有权限。
使用 ExchangePowerShell-模块中的 Get-Group
cmdlet 时,我得到了一些识别属性,但其中 none 有助于识别相同的属性Azure AD 中的组:
- DisplayName(不唯一且可变)
- SamAccountName(无法通过 Graph API 或 AzureAD PowerShell 模块获得)
- Sid(特定于 Exchange Online,与 Azure AD 不同)
- WindowsEmailAddress(可更改,不是必需的)
- ExchangeObjectId(无法通过 Graph API 或 AzureAD PowerShell 模块获得)
在 Azure AD 中,我还有一整套标识属性(例如图形 API):
- ID(在 Azure AD 中显示的 ObjectID,在 Exchange Online 中不可用)
- DisplayName(不唯一且可变)
- 邮件(可更改,不是必需的)
- SecurityIdentifier(特定于 Azure AD,与 Exchange Online 不同)
看来我唯一的选择是使用 DisplayName 和 WindowsEmailAddress/Mail 的组合,这太可怕了?
有没有其他方法可以唯一地标识组以将它们匹配在一起?
更新: 我的场景如下: 我需要处理所有邮箱的所有权限:
- 基本上每个邮箱我都叫
Get-MailboxPermission
- 通过扩展 属性 用户,我可以获得允许的用户或组的 Exchange-SID。
- 然后我可以将此 Exchange-SID 与
Get-User
或Get-Mailbox
cmdlet 返回的用户或组匹配。 - 我可以通过匹配
Get-User
返回的ExternalDirectoryObjectId
找到相应的 Azure AD 用户。 - 该组没有 属性
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!