連線至 Exchange Online PowerShell

Exchange Online PowerShell V2 模組(縮寫為 EXO V2 模組)使用新式驗證,可與多重要素驗證(MFA)搭配使用,以連線到 Microsoft 365 中的所有 Exchange 相關 PowerShell 環境: Exchange Online PowerShell、安全性與合規性 PowerShell,以及獨立 Exchange Online Protection (EOP) PowerShell。如需 EXO V2 模組的詳細資訊,請參閱 Exchange Online PowerShell V2 模組相關資訊

本文包含如何使用 EXO V2 模組 (搭配或不搭配 MFA),連線到 Exchange Online PowerShell 的指示。

若要使用 終將被棄用的較不安全的舊版遠端 PowerShell 連線指示,請參閱 基本驗證-連線到 Exchange Online PowerShell

若要使用較舊版 Exchange Online 遠端 PowerShell 模組,透過多重要素驗證,連線至 Exchange Online PowerShell,請參閱 V1模組 - 使用多重要素驗證連線至 Exchange Online PowerShell。請注意,此舊版模組終將停用。

開始之前有哪些須知?

  • 安裝和使用 EXO V2 模組的需求,請參閱 安裝及維護 EXO V2 模組

    注意

    本文中的其餘指示皆假設您已安裝該模組。

    如果您使用 2.0.6 版的模組,如果您未在 Connect-ExchangeOnline 命令中使用 UseRPSSession 切換,則只能存取可用的 REST API Cmdlet。 如需詳細資訊,請參閱 2.0.6 版的更新

  • 連線後,您有權或無權存取的 Cmdlet 和參數由角色型存取控制 (RBAC) 所控制。如需詳細資訊,請參閱 Exchange Online 中的權限

    若要尋找在組織中執行特定的 Exchange Online cmdlet 權限,請參閱 尋找執行任何 Exchange 指令程式所需的權限

  • 如果您的組織是內部部署 Exchange,且有搭配 Exchange Online Protection (EOP) 服務授權的 Exchange Enterprise CAL,則您的 EOP PowerShell 連線指示會與 Exchange Online PowerShell 相同,如此文所述。

提示

有問題嗎?在 Exchange Online 論壇中提出問題。

在有 MFA 或沒有 MFA 的情況下,使用新式驗證連線至 Exchange Online PowerShell

這些連線指示會使用新式驗證,並可使用或不使用多重要素驗證 (MFA)。

針對 PowerShell 7 中提供的其他登入方法,請參閱本主題稍後的 PowerShell 7 登入體驗一節。

  1. 在 PowerShell 視窗中,執行下列命令來載入 EXO V2 模組*

    Import-Module ExchangeOnlineManagement
    

    附註

    *您可能可略過此步驟,並執行 Connect-ExchangeOnline 而不需先載入此模組。

  2. 您需要執行的命令會使用下列語法:

    Connect-ExchangeOnline -UserPrincipalName <UPN> [-ShowBanner:$false] [-ExchangeEnvironmentName <Value>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions]
    
    • <UPN> 是以使用者主體名稱格式(例如 navin@contoso.com)表示的您的帳戶。
    • 當您使用 ExchangeEnvironmentName 參數時,不需要使用 ConnectionUriAzureADAuthorizationEndPointUrl 參數。 如需詳細資訊,請參閱 Connect-ExchangeOnline 中的參數描述。
    • DelegatedOrganization 參數指定您要以授權的 Microsoft 合作夥伴的身份來管理的客戶組織。 如需詳細資訊,請參閱 合作夥伴
    • 如果您在 Proxy 伺服器背後,請先執行下列命令:$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>,其中的 <Value> 是 IEConfigWinHttpConfigAutoDetect。 然後,使用 PSSessionOption 參數搭配值 $ProxyOptions。 如需詳細資訊,請參閱 New-PSSessionOption
    • 根據組織的性質,您可以在下一個步驟略過 UserPrincipalName 參數。 相反地,執行 Connect-ExchangeOnline 命令之後,請輸入使用者名稱和密碼,或選取儲存的認證。 如果無法執行,則需要使用 UserPrincipalName 參數。
    • 如果您未使用 MFA,您應該可以使用 Credential 參數,而非 UserPrincipalName 參數。 首先,執行命令 $Credential = Get-Credential,輸入您的使用者名稱和密碼,然後使用 Credential 參數的變數名稱 (-Credential $Credential)。 如果無法執行,則需要使用 UserPrincipalName 參數。

    此範例會連線至 Microsoft 365 或 Microsoft 365 GCC 組織 中的 Exchange Online PowerShell:

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com
    

    此範例會連線至Office 365 德國組織中的 Exchange Online PowerShell

    Connect-ExchangeOnline -UserPrincipalName lukas@fabrikam.de -ExchangeEnvironmentName O365GermanyCloud
    

    此範例會連線至 Microsoft GCC High 組織中的 Exchange Online PowerShell

    Connect-ExchangeOnline -UserPrincipalName laura@blueyonderairlines.us -ExchangeEnvironmentName O365USGovGCCHigh
    

    此範例會連線至 Microsoft 365 DoD 組織中的 Exchange Online PowerShell

    Connect-ExchangeOnline -UserPrincipalName julia@adatum.mil -ExchangeEnvironmentName O365USGovDoD
    

    此範例會連線至 Exchange Online PowerShell 以管理其他租使用者

    Connect-ExchangeOnline -UserPrincipalName navin@contoso.com -DelegatedOrganization adatum.onmicrosoft.com
    
  3. 在開啟的登入視窗中,輸入您的密碼,然後按一下 [登入 ]

    在 [登入您的帳戶] 視窗中輸入您的密碼。

  4. 僅限 MFA:系統會產生驗證碼並根據針對您的帳戶設定的回應選項 (例如,您的裝置上的簡訊或 Microsoft Authenticator 應用程式) 傳送。

    在開啟的驗證視窗中,輸入驗證碼,然後按一下 [驗證 ]

    在 [登入您的帳戶] 視窗中輸入您的驗證碼。

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

注意

完成時,請務必中斷遠端 PowerShell 工作階段連線。如果未先中斷工作階段連線即關閉 PowerShell 視窗,您可能會用完您可以使用的所有遠端 PowerShell 工作階段,而需要等待這些工作階段到期。若要中斷遠端 PowerShell 工作階段連線,請執行下列命令。

Disconnect-ExchangeOnline

PowerShell 7 登入體驗

本節說明 PowerShell 7 中 EXO V2 模組版本2.0.4 或更新版本中提供的登入體驗。

如需 PowerShell 7 中 EXO V2 模組支援的作業系統之詳細資訊,請參閱 EXO V2 模組支援的作業系統

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

使用瀏覽器型單一登入的互動式指令碼

瀏覽器型單一登入 (SSO) 是 PowerShell 7 中的預設登入方法。 Connect-ExchangeOnline 命令會在預設瀏覽器中開啟 Azure AD 登入頁面。 輸入認證之後,舊版的 Exchange Online Cmdlet 及 EXO V2 模組 Cmdlet 則可供產生的 PowerShell 工作階段使用。

如果您在命令中使用 UserPrincipalName 參數,則會在瀏覽器的登入頁面中使用 UPN 值。

Connect-ExchangeOnline -UserPrincipalName navin@contoso.onmicrosoft.com

裝置型登入

沒有可用的瀏覽器時使用裝置型登入 (因此您看不到登入頁面):

Connect-ExchangeOnline -Device

命令會傳回與工作階段綁定的 URL 和唯一代碼。 您需要在任何電腦上的瀏覽器中開啟該 URL,然後輸入唯一代碼。 當您在網頁瀏覽器中完成登入後,Powershell 7 視窗中的工作階段會透過一般 Azure AD 驗證流程進行驗證,而 Exchange Online Cmdlet 會在幾秒後匯入。

內嵌認證

您可以直接在 PowerShell 視窗中輸入認證,而不需要前往瀏覽器進行 SSO。

注意

此方法不適用使用多重要素驗證的帳戶。

這是 認證 參數的改善方法,因為您不需要在腳本中以本機儲存認證,也可以直接在互動式 PowerShell 工作階段中輸入認證。

Connect-ExchangeOnline -InlineCredential

如何知道這是否正常運作?

Exchange Online Cmdlet 會匯入您的本機 PowerShell 工作階段中,且會有進度列追蹤此作業。如果您未收到任何錯誤,便已順利連線。若要做快速測試,您可以執行一個 Exchange Online PowerShell Cmdlet (例如 Get-Mailbox),然後檢視結果。

如果出現錯誤,請檢查下列需求:

  • 密碼錯誤是常見的問題。再次執行這三個步驟,並特別留意您使用的使用者名稱和密碼。

  • 為防止拒絕服務 (DoS) 的攻擊,您最多只能對 Exchange Online 開啟五個遠端 PowerShell 連線。

  • 用來連線至 Exchange Online 的帳戶必須能夠使用遠端 PowerShell。如需詳細資訊,請參閱 啟用或停用 Exchange Online PowerShell 的存取

  • 本機電腦與 Microsoft 365 之間必須開啟 TCP 連接埠 80 流量。該連接埠可能已開啟,但必須考量您的組織是否有限制性網際網路存取原則。

  • 如果組織使用同盟驗證,而您的身分識別提供者 (IDP) 和/或安全性權杖服務 (STS) 並未公開提供,您就無法使用同盟帳戶連線到 Exchange Online PowerShell。 請改為在 Microsoft 365 中建立並使用非同盟帳戶以連線至 Exchange Online PowerShell。