共用方式為


使用 Azure 受控識別連線到 Exchange Online PowerShell

使用 Exchange Online PowerShell V3 模組,您可以使用使用者指派或系統指派的 Azure 受控識別連線到 Exchange Online PowerShell。 如需受控識別的詳細資訊,請參閱 什麼是適用於 Azure 資源的受控識別?。

不同於使用 Exchange Online PowerShell 模組的其他連線方法,您無法在本機電腦的 Windows PowerShell 會話中執行連線命令。 相反地,您會在與受控識別相關聯的 Azure 資源內容中聯機 (例如 Azure 自動化帳戶或 Azure 虛擬機) 。

本文的其餘部分說明如何使用受控識別進行連線,以及在 Azure 中使用受控識別建立和設定適當資源的需求。

注意事項

在 Exchange Online PowerShell 中,無法將此文章中的程序與下列 Microsoft 365 群組 Cmdlet 一起使用:

您可以使用 Microsoft Graph 來取代這些 Cmdlet 中的大部分功能。 如需詳細資訊,請 參閱在 Microsoft Graph 中使用群組

V3 模組中的 REST API 連線需要 PowerShellGet 和 PackageManagement 模組。 如需詳細資訊,請參閱 Windows 中 REST 型連線的 PowerShellGet

使用系統指派的受控識別連線到 Exchange Online PowerShell

建立並設定系統指派的受控識別之後,請使用下列語法連線到 Exchange Online PowerShell:

Connect-ExchangeOnline -ManagedIdentity -Organization <YourDomain>.onmicrosoft.com

例如:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

本節的其餘部分說明如何使用支援的 Azure 資源進行連線。 例如:

  • Azure 自動化帳戶上的PowerShell Runbook,具有系統指派的受控識別。
  • 具有系統指派受控識別的 Azure VM。

聯機資源之後,會根據您在步驟 5:將 Microsoft Entra 角色指派給受控識別中指派的 RBAC 角色,取得 Exchange Online PowerShell Cmdlet 和參數

使用具有系統指派受控識別的 Azure 自動化帳戶連線到 Exchange Online PowerShell

在自動化帳戶上建立PowerShell Runbook。 如需指示,請 參閱管理 Azure 自動化中的 Runbook

PowerShell Runbook 中的第一個命令必須是命令, Connect-ExchangeOnline... 如本節開頭所述。 例如:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

之後,作為測試,您可以先在 Runbook 中以簡單、低影響的命令開始,再繼續進行更複雜的命令或腳本。 例如:

Get-AcceptedDomain | Format-Table Name

成功建立、儲存及發佈PowerShell Runbook之後,請執行下列步驟以在未來執行它:

  1. 在 的 [ 自動化帳戶] 頁面上 https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts,選取 [自動化帳戶]。
  2. 在開啟的詳細數據飛出視窗中,開始在 搜尋圖示中輸入「Runbook」。搜尋方 塊,然後從結果中選取 [ Runbook ]。
  3. 在開啟 的 [Runbook] 飛出視窗上,選取 Runbook。
  4. 在 Runbook 的詳細數據頁面上,選取 [ 開始]

使用具有系統指派受控識別的 Azure VM 連線到 Exchange Online PowerShell

在 Azure VM 的 Windows PowerShell 視窗中,使用本節開頭所述的 命令。 例如:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

使用使用者指派的受控識別連線到 Exchange Online PowerShell

建立並設定使用者指派的受控識別之後,請使用下列語法連線到 Exchange Online PowerShell:

Connect-ExchangeOnline -ManagedIdentity -Organization <YourDomain>.onmicrosoft.com -ManagedIdentityAccountId <UserAssignedManagedIdentityClientIdValue>

您會從步驟 3:將使用者指派的受控識別儲存在變數中,取得 <UserAssignedManagedIdentityClientIdValue> 值。

本節的其餘部分說明如何使用支援的 Azure 資源進行連線。 例如:

  • Azure 自動化帳戶上具有使用者指派受控識別的PowerShell Runbook。
  • 具有使用者指派受控識別的 Azure VM。

聯機資源之後,Exchange Online PowerShell Cmdlet 和參數會根據您在 步驟 6:指派 Microsoft Entra 角色給受控識別中指派的 RBAC 角色來提供。

使用具有使用者指派受控識別的 Azure 自動化帳戶連線到 Exchange Online PowerShell

在自動化帳戶上建立PowerShell Runbook。 如需指示,請 參閱管理 Azure 自動化中的 Runbook

PowerShell Runbook 中的第一個命令必須是命令, Connect-ExchangeOnline... 如本節開頭所述。 例如:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com -ManagedIdentityAccountId bf6dcc76-4331-4942-8d50-87ea41d6e8a1

您會從步驟 3 取得 ManagedIdentityAccount 值 :將使用者指派的受控識別儲存在變數中

之後,作為測試,您可以先在 Runbook 中以簡單、低影響的命令開始,再繼續進行更複雜的命令或腳本。 例如:

Get-AcceptedDomain | Format-Table Name

成功建立 PowerShell Runbook 之後,請執行下列步驟來在未來執行它:

  1. 在 的 [ 自動化帳戶] 頁面上 https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts,選取 [自動化帳戶]。
  2. 在開啟的詳細數據飛出視窗中,開始在 搜尋圖示中輸入「Runbook」。搜尋方 塊,然後從結果中選取 [ Runbook ]。
  3. 在開啟 的 [Runbook] 飛出視窗上,選取 Runbook。
  4. 在 Runbook 的詳細數據頁面上,選取 [ 開始]

使用具有系統指派受控識別的 Azure VM 連線到 Exchange Online PowerShell

在 Azure VM 的 Windows PowerShell 視窗中,使用本節開頭所述的 命令。 例如:

$MI_ID = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").ClientId

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com -ManagedIdentityAccountId $MI_ID

建立和設定系統指派的受控識別

步驟如下:

  1. (選擇性) 使用系統指派的受控識別建立資源
  2. 將系統指派的受控識別儲存在變數中
  3. 將 Exchange Online PowerShell 模組新增至受控識別
  4. 授與 Exchange.ManageAsApp API 許可權,讓受控識別呼叫 Exchange Online
  5. 將 Microsoft Entra 角色指派給受控識別

完成步驟之後,您就可以 使用系統指派的受控識別連線到 Exchange Online PowerShell

步驟 1:使用系統指派的受控識別建立資源

如果您要使用已使用系統指派受控識別設定的現有資源,您可以跳到 下一個步驟。 支援下列資源類型:

  • Azure 自動化帳戶
  • Azure 虛擬機 (VM)

使用系統指派的受控識別建立 Azure 自動化帳戶

使用快速入門 :使用 Azure 入口網站建立自動化帳戶中的指示,建立為系統指派的受控識別設定的自動化帳戶。

若要在 Azure PowerShell 中使用系統指派的受控識別建立自動化帳戶,請執行下列步驟:

  1. 執行下列命令以連線到 Azure Az PowerShell

    Connect-AzAccount
    
  2. 如有必要,請執行下列命令,以建立要與自動化帳戶搭配使用的 Azure 資源群組:

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> 是新資源群組的唯一名稱。
    • <位置> 是命令的有效值: Get-AzLocation | Format-Table Name

    例如:

    New-AzResourceGroup -Name "ContosoRG" -Location "West US"
    

    如需完整指示,請 參閱建立資源群組

  3. 使用下列語法來建立具有系統指派受控識別的自動化帳戶:

    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignSystemIdentity
    
    • <AutomationAccountName> 是新自動化帳戶的唯一名稱。
    • <ResourceGroupName> 是您想要使用之現有資源群組的名稱。 有效的值會顯示在命令的輸出中: Get-AzResourceGroup
    • <位置> 是命令的有效值: Get-AzLocation | Format-Table Name

    例如:

    New-AzAutomationAccount -Name "ContosoAzAuto1" -ResourceGroupName "ContosoRG" -Location "West US" -AssignSystemIdentity
    

    如需詳細的語法和參數資訊,請參閱 New-AzAutomationAccount

使用系統指派的受控識別設定 Azure VM

如需指示,請參閱下列文章:

步驟 2:將系統指派的受控識別儲存在變數中

使用下列語法,將受控識別的標識碼 (GUID) 值儲存在您將在 Azure Az PowerShell 的後續步驟中使用的變數中。

$MI_ID = (Get-AzADServicePrincipal -DisplayName "<ResourceName>").Id

其中 <ResourceName> 是 Azure 自動化帳戶或 Azure VM 的名稱。 例如:

$MI_ID = (Get-AzADServicePrincipal -DisplayName "ContosoAzAuto1").Id

若要確認已成功擷取變數,請執行 命令 $MI_ID。 輸出應該是 GUID 值 (例如 9f164909-3007-466e-a1fe-28d20b16e2c2) 。

如需詳細的語法和參數資訊,請參閱 Get-AzADServicePrincipal

步驟 3:將 Exchange Online PowerShell 模組新增至受控識別

將 Exchange Online PowerShell 模組新增至具有系統指派受控識別的 Azure 自動化帳戶

提示

如果 Azure 入口網站中的下列程式不適用於您,請在 Azure PowerShell 中嘗試 Azure 入口網站程式之後所述的 New-AzAutomationModule 命令。

  1. 在 的 [ 自動化帳戶] 頁面上 https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts,選取 [自動化帳戶]。

  2. 在開啟的詳細數據飛出視窗中,開始在搜尋圖示中輸入 「Modules」。搜尋方塊,然後從結果中選取 [模組]。

  3. 在開啟 的 [模組] 飛出視窗上,選取 [ 新增模組] 圖示。新增模組

  4. 在開啟的 [ 新增模組 ] 頁面上,設定下列設定:

    • 上傳模組檔案從資源庫選取 [流覽]
    • PowerShell 模組檔案:選取 [按兩下這裡以從資源庫瀏覽]
      1. 在開啟的 [瀏覽資源庫] 頁面中,開始在搜尋圖示中輸入 “ExchangeOnlineManagement”。搜尋方塊,按 Enter,然後從結果中選取 [ExchangeOnlineManagement]。
      2. 在開啟的詳細數據頁面上, 選取 [選 取] 傳回 [ 新增模組] 頁面。
    • 執行時版本:選取 5.17.1 (預覽) 。 若要新增這兩個版本,請重複本節中的步驟,以新增和選取模組的其他運行時版本。

    當您完成時,請選取 [ 匯入]

    在 Azure 入口網站中將模組新增至自動化帳戶的螢幕快照。

  5. 回到 [模組] 飛出視窗,開始在搜尋圖示中輸入 “ExchangeOnlineManagement”。搜尋方塊以查看 [狀態] 值。 模組匯入完成時,此值為 [可用]

若要將模組新增至 Azure PowerShell 中的自動化帳戶,請使用下列語法:

New-AzAutomationModule -ResourceGroupName "<ResourceGroupName>" -AutomationAccountName "<AutomationAccountName>" -Name ExchangeOnlineManagement -ContentLinkUri https://www.powershellgallery.com/packages/ExchangeOnlineManagement/<LatestModuleVersion>
  • <ResourceGroupName> 是已指派給自動化帳戶的資源組名。
  • <AutomationAccountName> 是自動化帳戶的名稱。
  • <LatestModuleVersion> 是 ExchangeOnlineManagement 模組的目前版本。 若要查看 GA 的最新正式運作 (;非預覽) 版本的模組,請在 Windows PowerShell 中執行下列命令: Find-Module ExchangeOnlineManagement。 若要查看最新的預覽版本,請執行下列命令: Find-Module ExchangeOnlineManagement -AllowPrerelease
  • 目前,PowerShell 程式不會讓您選擇運行時版本, (為 5.1) 。

例如:

New-AzAutomationModule -ResourceGroupName "ContosoRG" -AutomationAccountName "ContosoAzAuto1" -Name ExchangeOnlineManagement -ContentLinkUri https://www.powershellgallery.com/packages/ExchangeOnlineManagement/3.1.0

若要確認模組已成功匯入,請執行下列命令:

Get-AzAutomationModule -ResourceGroupName ContosoRG -AutomationAccountName ContosoAzAuto1 -Name ExchangeOnlineManagement

在匯入期間,ProvisioningState 屬性的值將會是 Create。 模組匯入完成時,值會變更為 Succeeded。

如需詳細的語法和參數資訊,請參閱 New-AzAutomationModule

將 Exchange Online PowerShell 模組新增至具有系統指派受控識別的 Azure VM

在 Azure VM 中安裝 Exchange Online PowerShell 模組。 如需指示,請 參閱安裝和維護 Exchange Online PowerShell 模組

步驟 4:授與 Exchange.ManageAsApp API 許可權,讓受控識別呼叫 Exchange Online

此步驟中的程式需要 Microsoft Graph PowerShell SDK。 如需安裝指示,請 參閱安裝 Microsoft Graph PowerShell SDK

  1. 執行下列命令,以使用必要的許可權連線到 Microsoft Graph PowerShell:

    Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All
    

    如果 [ 許可權要求] 對話框隨即開啟,請選取 [ 代表您的組織同意],然後按兩下 [ 接受]

  2. 執行下列命令,確認 Office 365 Exchange Online 資源可在 Microsoft Entra ID 中使用:

    Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
    

    如果命令未傳回任何結果,則下一個步驟將無法運作。 繼續之前,請參閱本節結尾的子節以修正問題。

  3. 執行下列命令,為受控識別授與 Exchange.ManageAsApp API 許可權,以呼叫 Exchange Online:

    $AppRoleID = "dc50a0fb-09a3-484d-be87-e023b12c6440"
    
    $ResourceID = (Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'").Id
    
    New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MI_ID -PrincipalId $MI_ID -AppRoleId $AppRoleID -ResourceId $ResourceID
    
    • $MI_ID 是您在 步驟 2 中儲存在變數中之受控識別的標識碼 (GUID) 值。
    • $AppRoleID 是每個組織中相同 Exchange.ManageAsApp API 許可權的標識 (GUID) 值。
    • $ResourceID 是 Microsoft Entra ID 中 Office 365 Exchange Online 資源的標識碼 (GUID) 值。 每個組織中的AppId值都相同,但每個組織的標識碼值都不同。

如需詳細的語法和參數資訊,請參閱下列文章:

如果 Office 365 Exchange Online 資源無法在 Microsoft Entra ID 中使用,該怎麼辦

如果下列命令未傳回任何結果:

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"

執行下列步驟:

  1. 在 Microsoft Entra ID 中註冊應用程式,如 步驟 1:使用 Microsoft Entra ID 註冊應用程式中所述。
  2. 使用步驟 2:將 API 許可權指派給應用程式中所述的「修改應用程式指令清單」方法,將 Office 365 Exchange Online > Exchange.ManageAsApp API 許可權指派給應用程式。

執行這些步驟之後,請再次執行 Get-MgServicePrincipal 命令,以確認 Office 365 Exchange Online 資源可在 Microsoft Entra ID 中使用。

如需詳細資訊,請執行下列命令,以確認 Office 365 Exchange Online 資源中有 Exchange.ManageAsApp API 許可權 (dc50a0fb-09a3-484d-be87-e023b12c6440) :

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" | Select-Object -ExpandProperty AppRoles | Format-Table Value,Id

現在 Office 365 Exchange Online 資源已可供使用,請返回本節中的步驟 4.3。

步驟 5:將 Microsoft Entra 角色指派給受控識別

下列清單說明支援的 Microsoft Entra 角色:

¹ 全域管理員和 Exchange 系統管理員角色提供 Exchange Online PowerShell 中任何工作的必要許可權。 例如:

  • 收件者管理。
  • 安全性和保護功能。 例如,反垃圾郵件、反惡意程式碼、防網路釣魚,以及相關聯的報告。

安全性系統管理員角色沒有這些相同 Exchange 相關工作的必要權限。

² Microsoft建議您使用許可權最少的角色。 使用較低許可權的帳戶有助於改善組織的安全性。 全域管理員是高度特殊許可權的角色,當您無法使用現有角色時,應該僅限於緊急案例。

如需在 Microsoft Entra ID 中指派角色的一般指示,請參閱將 Microsoft Entra 角色指派給使用者。

  1. 在 Microsoft 的 Entra 系統管理中心https://portal.azure.com/,開始在頁面頂端的 [搜尋] 方塊中輸入角色和系統管理員,然後從 [服務] 區段的結果中選取 [Microsoft Entra 角色和系統管理員]。

    在 Azure 入口網站首頁的 [搜尋] 結果中,顯示Microsoft Entra 角色和系統管理員的螢幕快照。

    或者,若要直接移至 [Microsoft Entra 角色和系統管理員] 頁面,請使用 https://portal.azure.com/#view/Microsoft_AAD_IAM/AllRolesBlade

  2. 在 [ 角色和系統管理員] 頁面上, 按兩下角色的名稱 來尋找並選取其中一個支援的角色 (而不是結果中) 的複選框。 例如,尋找並選取 Exchange 系統管理員 角色。

    按一下角色名稱以尋找並選取支援的 Exchange Online PowerShell 角色。

  3. 在開啟 的 [指派] 頁面上,選取 [ 新增指派]

    選取 Exchange Online PowerShell 的角色指派頁面上的新增指派。

  4. 在開啟 的 [新增指派 ] 飛出視窗中,尋找並選取您在 步驟 1 中建立或識別的受控識別。

    完成時,選取 [新增]

  5. 回到 [ 指派] 頁面,確認角色已指派給受控識別。

若要在 Microsoft Graph PowerShell 中將角色指派給受控識別,請執行下列步驟:

  1. 執行下列命令,以使用必要的許可權連線到 Microsoft Graph PowerShell:

    Connect-MgGraph -Scopes RoleManagement.ReadWrite.Directory
    

    如果 [ 許可權要求] 對話框隨即開啟,請選取 [ 代表您的組織同意],然後按兩下 [ 接受]

  2. 使用下列語法將必要的 Microsoft Entra 角色指派給受控識別:

    $RoleID = (Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq '<Role Name>'").Id
    
    New-MgRoleManagementDirectoryRoleAssignment -PrincipalId $MI_ID -RoleDefinitionId $RoleID -DirectoryScopeId "/"
    
    • <角色名稱> 是本節稍早所列Microsoft Entra 角色的名稱。
    • $MI_ID 是您在 步驟 2 中儲存在變數中之受控識別的標識碼 (GUID) 值。

    例如:

    $RoleID = (Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Exchange Administrator'").Id
    
    New-MgRoleManagementDirectoryRoleAssignment -PrincipalId $MI_ID -RoleDefinitionId $RoleID -DirectoryScopeId "/"
    

如需詳細的語法和參數資訊,請參閱下列文章:

建立和設定使用者指派的受控識別

步驟如下:

  1. (選擇性) 建立使用者指派的受控識別
  2. (選擇性) 使用使用者指派的受控識別建立資源
  3. 將使用者指派的受控識別儲存在變數中
  4. 將 Exchange Online PowerShell 模組新增至受控識別
  5. 授與 Exchange.ManageAsApp API 許可權,讓受控識別呼叫 Exchange Online
  6. 將 Microsoft Entra 角色指派給受控識別

完成步驟之後,您就可以 使用使用者指派的受控識別連線到 Exchange Online PowerShell

步驟 1:建立使用者指派的受控識別

如果您已經有要使用的現有使用者指派受控識別,您可以跳到下一個 步驟 ,以使用使用者指派的受控識別建立資源。

否則,請使用建立使用者指派的受控識別中的指示,在 Azure 入口網站中建立 使用者指派的受控識別

若要在 Azure PowerShell 中建立使用者指派的受控識別,請執行下列步驟:

  1. 執行下列命令以連線到 Azure Az PowerShell

    Connect-AzAccount
    
  2. 如有必要,請執行下列命令,以建立要與使用者指派的受控識別搭配使用的 Azure 資源群組:

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> 是新資源群組的唯一名稱。
    • <位置> 是命令的有效值: Get-AzLocation | Format-Table Name

    例如:

    New-AzResourceGroup -Name "ContosoRG2" -Location "West US"
    

    如需完整指示,請 參閱建立資源群組

  3. 使用下列語法來建立使用者指派的受控識別:

    New-AzUserAssignedIdentity -Name "<UserAssignedManagedIdentityName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>"
    
    • <UserAssignedManagedIdentityName> 是使用者指派之受控識別的唯一名稱。
    • <ResourceGroupName> 是您想要使用之現有資源群組的名稱。 有效的值會顯示在命令的輸出中: Get-AzResourceGroup
    • <位置> 是命令的有效值: Get-AzLocation | Format-Table Name

    例如:

    New-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2" -Location "West US"
    

    如需詳細的語法和參數資訊,請參閱 New-AzUserAssignedIdentity

步驟 2:使用使用者指派的受控識別建立資源

如果您要使用已設定使用者指派受控識別的現有資源,您可以跳到 下一個步驟。 支援下列資源類型:

  • Azure 自動化帳戶
  • Azure 虛擬機 (VM)

使用使用者指派的受控識別建立 Azure 自動化帳戶

使用快速入門 :使用 Azure 入口網站建立自動化帳戶中的指示,建立為使用者指派的受控識別設定的自動化帳戶。

若要在 Azure PowerShell 中使用使用者指派的受控識別建立自動化帳戶,請執行下列步驟:

  1. 執行下列命令以連線到 Azure Az PowerShell

    Connect-AzAccount
    
  2. 使用下列語法來建立具有使用者指派受控識別的自動化帳戶:

    $UAMI = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").Id
    
    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignUserIdentity $UAMI
    
    • <UserAssignedMI> 是您想要使用的使用者指派受控識別名稱。
    • <MIResourceGroupName> 是指派給使用者指派受控識別的資源組名。 有效的值會顯示在命令的輸出中: Get-AzResourceGroup
    • <AutomationAccountName> 是新自動化帳戶的唯一名稱。
    • <ResourceGroupName> 是您想要使用的資源組名,其值可能與 <MIResourceGroupName> 相同。
    • <位置> 是命令的有效值: Get-AzLocation | Format-Table Name

    例如:

    $UAMI = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").Id
    
    New-AzAutomationAccount -Name "ContosoAzAuto2" -ResourceGroupName "ContosoRG2" -Location "West US" -AssignUserIdentity $UAMI
    

    如需詳細的語法和參數資訊,請參閱 New-AzAutomationAccount

使用使用者指派的受控識別設定 Azure VM

如需指示,請參閱下列文章:

步驟 3:將使用者指派的受控識別儲存在變數中

Azure Az PowerShell 中使用下列語法,將使用者指派受控識別的 ClientId 值儲存在您將在後續步驟中使用的變數中:

$MI_ID = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").ClientId
  • <UserAssignedMI> 是使用者指派的受控識別名稱。
  • <MIResourceGroupName> 是與使用者指派的受控識別相關聯的資源組名。

例如:

$MI_ID = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").ClientId

若要確認已成功擷取變數,請執行 命令 $MI_ID。 輸出應該是 GUID 值 (例如 bf6dcc76-4331-4942-8d50-87ea41d6e8a1) 。

如需詳細的語法和參數資訊,請參閱 Get-AzUserAssignedIdentity

步驟 4:將 Exchange Online PowerShell 模組新增至受控識別

使用者指派受控識別的步驟與 系統指派的受控識別步驟 3 相同。

注意事項

請務必針對資源組名和自動化帳戶名稱使用正確的值!

步驟 5:授與 Exchange.ManageAsApp API 許可權,讓受控識別呼叫 Exchange Online

使用者指派受控識別的步驟與 系統指派的受控識別步驟 4 相同。

雖然使用者指派的受控識別值與系統指派的值不同,但我們在命令 () $MI_ID 中使用相同的變數名稱,因此命令適用於這兩種類型的受控識別。

步驟 6:將 Microsoft Entra 角色指派給受控識別

使用者指派受控識別的步驟基本上與 系統指派的受控識別步驟 5 相同。

在 Azure 入口網站中,請務必選 取使用者指派的 受控識別作為受控識別,以將 Microsoft Entra 角色指派給 (而非自動化帳戶本身) 。

PowerShell 命令適用於使用者指派和系統指派的受控識別。 雖然使用者指派的受控識別值與系統指派的取得方式不同,但我們在命令中使用相同的變數名稱, ($MI_ID) 。