連線至 Exchange Online Protection 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 Protection PowerShell 的指示。

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

開始之前有哪些須知?

  • 本文中的程序適用於沒有 Exchange Online 信箱的 Microsoft 365 組織。 例如,您有一個可保護內部部署電子郵件環境的獨立 EOP 訂閱。 如果您的 Microsoft 365 訂閱包含 Exchange Online 信箱,就無法連線至 EOP PowerShell;而是連線到 Exchange Online PowerShell

    如果您的組織是內部部署 Exchange,且有搭配 EOP 服務授權的 Exchange Enterprise CAL,則您的 EOP PowerShell 連線指示會與 Exchange Online PowerShell 相同。 在連線至 Exchange Online PowerShell 中使用 Exchange Online PowerShell 連線指示,而非本文中的指示。

  • 安裝和使用 EXO V2 模組的需求,請參閱 安裝及維護 EXO V2 模組。 本文中的其餘指示皆假設您已安裝該模組。

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

提示

有問題嗎? 在 Exchange Online Protection 論壇中尋求協助。

使用 MFA 和新式驗證連線至 Exchange Online Protection PowerShell

如果您的帳戶使用多重要素驗證,請使用本節所述的步驟。 否則,請跳至 使用新式驗證,連線到 Exchange Online Protection PowerShell 一節。

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

    Import-Module ExchangeOnlineManagement
    

    附註:如果您已 安裝 EXO V2 模組,則先前的命令可如其編寫方式運作。

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

    Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndPointUri <URL>] [-PSSessionOption $ProxyOptions]
    
    • <UPN> 是以使用者主體名稱格式(例如 navin@contoso.com)表示的您的帳戶。
    • 所需的 ConnectionUriAzureADAuthorizationEndPointUri 值,取決於您的 Microsoft 365 組織特性。 如需詳細資訊,請參閱 Connect-IPPSSession 中的參數描述。
    • 如果您在 Proxy 伺服器背後,請先執行下列命令:$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>,其中的 <Value> 是 IEConfigWinHttpConfigAutoDetect。 然後,使用 PSSessionOption 參數搭配值 $ProxyOptions。 如需詳細資訊,請參閱 New-PSSessionOption

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

    Connect-IPPSSession -UserPrincipalName navin@contoso.com -ConnectionUri https://ps.protection.outlook.com/powershell-liveid/
    

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

    Connect-IPPSSession -UserPrincipalName lukas@fabrikam.com -ConnectionUri https://ps.protection.outlook.de/powershell-liveid/ -AzureADAuthorizationEndPointUri https://login.microsoftonline.de/common
    

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

注意

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

Disconnect-ExchangeOnline

使用新式驗證連線至 Exchange Online Protection PowerShell

如果您的帳戶未使用多重要素驗證,請使用本節所述的步驟。

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

    Import-Module ExchangeOnlineManagement
    

    附註:如果您已 安裝 EXO V2 模組,則先前的命令可如其編寫方式運作。

  2. 執行下列命令:

    注意

    執行 Connect-IPPSSession 命令後,在提示輸入使用者名稱和密碼的下一步,您可以跳過此步驟並省略 Credential 參數。 如果在下一步中省略 Credential 參數並包含 UserPrincipalName 參數,則只有在執行 Connect ippsession 命令後才會提示您輸入密碼。

    $UserCredential = Get-Credential
    

    在隨即出現的 [Windows PowerShell 認證要求] 對話方塊中,輸入您的公司或學校帳戶和密碼,然後按一下 [確定]

  3. 您需要執行的最後一個命令會使用以下語法:

    Connect-IPPSSession [-Credential $UserCredential] -ConnectionUri <URL> [-PSSessionOption $ProxyOptions]
    
    • 所需的 ConnectionUri 值取決於您 Microsoft 365 組織的特性。 如需詳細資訊,請參閱 Connect-IPPSSession 中的參數描述。
    • 如果您在 Proxy 伺服器後面,請將 New-PSSessionOption cmdlet 的輸出儲存在變數中 (例如,$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value> [-ProxyAuthentication <Value>] [-ProxyCredential <Value>])。 然後,使用變數 ($ProxyOptions) 做為 PSSessionOption 參數的值。

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

    Connect-IPPSSession -Credential $UserCredential -ConnectionUri https://ps.protection.outlook.com/powershell-liveid/
    

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

    Connect-IPPSSession -Credential $UserCredential -ConnectionUri https://ps.protection.outlook.de/powershell-liveid/
    

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

注意

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

Disconnect-ExchangeOnline

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

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

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

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

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

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

  • 您用來連線至 Exchange Online Protection PowerShell 的帳戶必須為 EOP 的郵件使用者 (手動建立或目錄同步處理)。 如果在 Exchange 系統管理中心(EAC)中看不到 收件人 > 連絡人 中的郵件使用者的帳戶,則當您嘗試連線時,您會收到下列錯誤訊息:

    匯入-PSSession:執行遠端會話中的 Get 命令命令時,報告下列錯誤:處理遠端命令的資料失敗,並出現下列錯誤訊息:使用 ShellId 執行 Windows Remote Shell 的要求失敗,因為伺服器上找不到 Shell。 可能的原因如下:指定的 ShellId 不正確,或者伺服器上已不存在 Shell。 提供正確的 ShellId 或建立新的 Shell,然後重試操作。

  • 如果您的用戶端 IP 位址在連線要求其間變更,則您可能會無法連線。 如果您的組織使用的來源網路位址轉譯 (SNAT) 集區包含多個 IP 位址,則可能會發生次情況。 連線錯誤看起來會像這樣:

    具有 ShellId 的 Windows Remote Shell 要求失敗,因為在伺服器上找不到 Shell。 可能的原因如下:指定的 ShellId 不正確,或者伺服器上已不存在 Shell。 提供正確的 ShellId 或建立新的 Shell,然後重試操作。

    若要修正此問題,請使用 SNAT 集區 (其中包含單一 IP 位址),或讓 Exchange Online Protection PowerShell 端點的連線強制使用特定的 IP 位址。