连接到安全与合规中心 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 连接到安全与合规中心 PowerShell 的说明。
若要使用最终将弃用的较旧、安全性较低的远程 PowerShell 连接说明,请参阅基本身份验证 - 连接到安全与合规中心 PowerShell。
若要使用较旧的 Exchange Online 远程 PowerShell 模块通过 MFA 连接到安全与合规中心 PowerShell,请参阅 V1 模块 - 使用 MFA 连接到安全与合规中心 PowerShell。 请注意,模块的此旧版本最终将被停用。
开始前,有必要了解什么?
- 安装和维护 EXO V2 模块中介绍了安装和使用 EXO V2 模块的要求。 本主题中的其余说明均假设你已安装该模块。
使用 MFA 和新式身份验证连接到安全与合规 PowerShell
如果你的帐户使用多重身份验证,请使用本节中的步骤。 否则,请跳转到使用新式身份验证连接到安全与合规中心 PowerShell 一节。
在 Windows PowerShell 窗口中,通过运行以下命令加载 EXO V2 模块:
Import-Module ExchangeOnlineManagement
注意:如果已 安装 EXO V2 模块,则上一个命令将按写明的方式工作。
需要运行的最后一个命令使用以下语法:
Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-PSSessionOption $ProxyOptions]
- <UPN> 是采用用户主体名称格式的帐户(例如
navin@contoso.com
)。 - 所需的 ConnectionUri 值取决于 Microsoft 365 组织的特性。 有关详细信息,请参阅 Connect-IPPSSession 中的参数说明。
- 使用 UserPrincipalName 参数时,无需使用需要它的环境中的 AzureADAuthorizationEndpointUri 参数。
- 如果你使用代理服务器,请先运行此命令:
$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>
,其中 <Value> 是IEConfig
、WinHttpConfig
或AutoDetect
。 然后,使用 PSSessionOption 参数和值$ProxyOptions
。 有关详细信息,请参阅 New-PSSessionOption。
此示例连接到 Microsoft 365 或 Microsoft 365 GCC 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -UserPrincipalName navin@contoso.com
此示例连接到 Office 365 Germany 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -UserPrincipalName lukas@fabrikam.de -ConnectionUri https://ps.compliance.protection.outlook.de/PowerShell-LiveID
此示例连接到 Microsoft GCC High 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -UserPrincipalName -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/
此示例连接到 Microsoft 365 DoD 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -UserPrincipalName -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/
- <UPN> 是采用用户主体名称格式的帐户(例如
有关详细的语法和参数信息,请参阅 Connect-IPPSSession。
备注
确保在完成后断开与远程 PowerShell 会话的连接。如果您没有断开会话就关闭了 Windows PowerShell 窗口,可能会用完您可用的所有远程 PowerShell 会话,并且将需要等待会话过期。要断开远程 PowerShell 会话,请运行以下命令。
Disconnect-ExchangeOnline
使用新式身份验证连接到安全与合规中心 PowerShell
如果你的帐户未使用多重身份验证,请使用本节中的步骤。
在 Windows PowerShell 窗口中,通过运行以下命令加载 EXO V2 模块:
Import-Module ExchangeOnlineManagement
注意:如果已 安装 EXO V2 模块,则上一个命令将按写明的方式工作。
运行以下命令:
备注
可跳过此步骤,并忽略下一步中 凭据 参数,在运行 Connect-IPPSSession 命令后,系统会提示你输入用户名和密码。 如果忽略 凭据 参数,并在下一步中包括 UserPrincipalName 参数,则在运行 Connect- IPPSSession 命令后,系统将只提示你输入密码。
$UserCredential = Get-Credential
在出现的 Windows PowerShell 凭据请求 对话框中,键入工作或学校帐户用户名和密码,再单击 确定。
注意: 完成 Connect-IPPSSession 命令后,将清空
$UserCredential
中的密码密钥。需要运行的命令使用以下语法:
Connect-IPPSSession [-Credential $UserCredential] [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-PSSessionOption $ProxyOptions]
- 所需的 ConnectionUri 和 AzureADAuthorizationEndPointUrl 值取决于 Microsoft 365 组织的特性。 有关详细信息,请参阅 Connect-IPPSSession 中的参数说明。
- 如果你在代理服务器后面,则将 New-PSSessionOption cmdlet 的输出存储在一个变量中(例如
$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value> [-ProxyAuthentication <Value>] [-ProxyCredential <Value>]
)。 然后,将 PSSessionOption 参数的值设为变量($ProxyOptions
)。
此示例连接到 Microsoft 365 或 Microsoft 365 GCC 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -Credential $UserCredential
此示例连接到 Office 365 Germany 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -Credential $UserCredential -ConnectionUri https://ps.compliance.protection.outlook.de/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.de/common
此示例连接到 Microsoft GCC High 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -Credential $UserCredential -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
此示例连接到 Microsoft 365 DoD 组织中的安全与合规中心 PowerShell。
Connect-IPPSSession -Credential $UserCredential -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
有关详细的语法和参数信息,请参阅 Connect-IPPSSession。
备注
确保在完成后断开与远程 PowerShell 会话的连接。 如果在不断开会话连接的情况下关闭 Windows PowerShell 窗口,您可能会用完可用的所有远程 PowerShell 会话,然后您需要等待这些会话过期。 要断开远程 PowerShell 会话,请运行以下命令:
Disconnect-ExchangeOnline
如何判断是否生效?
安全与合规中心 cmdlet 现已导入到你的本地 Windows PowerShell 会话并由进度条跟踪。 如果未收到任何错误,说明连接成功。 快速测试就是运行安全与合规中心 cmdlet(例如 Get-RetentionCompliancePolicy),然后查看结果。
如果收到错误,则查看以下要求:
常见问题是密码错误。 重新运行上述三个步骤,并仔细查看所使用的的用户名和密码。
为有助于防止拒绝服务攻击 (DoS),你最多只能拥有5次机会与安全与合规中心的开放远程 PowerShell 连接。
必须为远程 PowerShell 启用用于连接的帐户。 有关详细信息,请参阅启用或禁用对 Exchange Online PowerShell 的访问。
需要在本地计算机和 Microsoft 365 之间打开 TCP 端口 80 通信。 它可能已经打开了,但是要考虑您的组织是否存在严格的 Internet 访问政策。
如果客户端 IP 地址在连接请求期间发生更改,则可能无法连接。 如果你的组织使用包含多个 IP 地址的源网络地址转换 (SNAT) 池,则可能会发生这种情况。 连接错误如下所示:
ShellId 为 <ID> 的 Windows 远程 Shell 的请求失败,因为在服务器上找不到该 Shell。 可能的原因包括:指定的 ShellId 不正确或 shell 在服务器上不再存在。 提供正确的 ShellId 或创建新的 shell,然后重试操作。
若要解决此问题,请使用包含单个 IP 地址的 SNAT 池,或强制使用特定 IP 地址连接到安全与合规 PowerShell 终结点。