连接到 Exchange Online Protection PowerShell

本文包含有关如何使用 Exchange Online PowerShell 模块(无论是否使用多重身份验证 (MFA) )连接到 Exchange Online Protection PowerShell 的说明。

Exchange Online PowerShell 模块使用新式身份验证连接到 Microsoft 365 中的所有与 Exchange 相关的 PowerShell 环境:Exchange Online PowerShell、安全性 & 合规性 PowerShell 和独立的 Exchange Online Protection (EOP) PowerShell。 有关模块的详细信息,请参阅 关于 Exchange Online PowerShell 模块

有关 Exchange Online Protection PowerShell 的详细信息,请参阅 Exchange Online Protection PowerShell

注意

截至 2020 年 6 月,连接到独立 Exchange Online Protection PowerShell 和 Exchange Online PowerShell 的说明基本相同。 如果使用 Connect-IPPSSession cmdlet 和 ConnectionUri 参数值 https://ps.protection.outlook.com/powershell-liveid/,则会重定向到 Connect-ExchangeOnline 用于 Exchange Online PowerShell 连接的同一https://outlook.office365.com/powershell-liveid/终结点。

Exchange Online PowerShell 中的远程 PowerShell 连接已弃用。 有关详细信息,请参阅 在 Exchange Online 中弃用远程 PowerShell

Exchange Online PowerShell V3 模块中的 REST API 连接需要 PowerShellGet 和 PackageManagement 模块。 有关详细信息,请参阅 PowerShellGet for 基于 REST 的连接在 Windows 中

开始前,有必要了解什么?

提示

是否有任何疑问? 请在 Exchange Online Protection 论坛中寻求帮助。

使用具有或不带 MFA 的新式身份验证连接到 Exchange Online Protection PowerShell

这些连接说明使用新式验证,并处理或不使用多重身份验证 (MFA)。

步骤 1:加载 Exchange Online PowerShell 模块

注意

如果模块已安装,通常可以跳过此步骤并运行 Connect-ExchangeOnline ,而无需先手动加载模块。

安装模块后,打开 PowerShell 窗口,并通过运行以下命令加载模块:

Import-Module ExchangeOnlineManagement

步骤 2:连接并进行身份验证

注意

如果用于连接的帐户的配置文件路径包含特殊 PowerShell 字符, (例如,) , $ 连接命令可能会失败。 解决方法是使用配置文件路径中没有特殊字符的其他帐户进行连接。

需要运行的命令使用以下语法:

Connect-ExchangeOnline -UserPrincipalName <UPN> [-ShowBanner:$false]

有关详细的语法和参数信息,请参阅 Connect-IPPSSession

使用交互式登录提示连接到 Exchange Online Protection PowerShell

此示例适用于具有或不带 MFA 的帐户的 Windows PowerShell 5.1 和 PowerShell 7:

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

步骤 3:完成后断开连接

完成后,请务必断开会话的连接。 如果在未断开会话连接的情况下关闭 PowerShell 窗口,则可能会用尽所有可用会话,并且需要等待会话过期。 若要断开会话连接,请运行以下命令:

Disconnect-ExchangeOnline

若要在无确认提示的情况下以无提示方式断开连接,请运行以下命令:

Disconnect-ExchangeOnline -Confirm:$false

如何知道已成功连接?

Exchange Online Protection cmdlet 将导入到你的本地 Windows PowerShell 会话并通过进度条进行跟踪。 如果未收到任何错误,则说明已成功连接。 快速测试是运行 Exchange Online Protection cmdlet(例如 Get-AcceptedDomain),并查看结果。

如果收到错误,则查看以下要求:

  • 常见问题是密码错误。 再次运行连接步骤,并密切关注使用的用户名和密码。

  • 需要在本地计算机和 Microsoft 365 之间打开 TCP 端口 80 通信。 它可能已经打开了,但是要考虑你的组织是否存在严格的 Internet 访问政策。

  • 如果客户端 IP 地址在连接请求期间发生更改,则可能无法连接。 如果你的组织使用包含多个 IP 地址的源网络地址转换 (SNAT) 池,则可能会发生这种情况。 连接错误如下所示:

    对具有 ShellId <ID> 的 Windows 远程 Shell 的请求失败,因为在服务器上找不到 shell。 可能的原因包括:指定的 ShellId 不正确或 shell 在服务器上不再存在。 提供正确的 ShellId 或创建新的 shell,然后重试操作。

    若要解决此问题,请使用包含单个 IP 地址的 SNAT 池,或强制使用特定 IP 地址连接到 Exchange Online Protection PowerShell 终结点。