使用远程 PowerShell 连接到 Exchange 服务器

如果你尚未安装 Exchange 管理工具,你可以使用本地计算机上的 Windows PowerShell 创建到 Exchange 服务器的远程 Shell 会话。 这是一个简单的三步过程,在其中输入凭据,提供所需的连接设置,然后将 Exchange cmdlet 导入本地Windows PowerShell会话。

注意

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

  • 估计完成时间:少于 5 分钟

  • 连接后,你有权或无权访问的 cmdlet 和参数都将由基于角色的访问控制 (RBAC) 进行控制。 有关详细信息,请参阅 Exchange Server 权限

  • 可以使用下列 Windows 版本:

    • Windows 11
    • Windows 10
    • Windows 8.1
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 或 Windows Server 2012 R2
    • Windows 7 Service Pack 1 (SP1)*
    • Windows Server 2008 R2 SP1*

    *此版本的 Windows 已进入终止支持阶段,现在只有在 Azure 虚拟机中运行时才能得到支持。 若要使用此版本 Windows,必须先安装 Microsoft .NET Framework 4.5 或更高版本,然后再安装更新版本的 Windows Management Framework:3.0、4.0 或 5.1(仅限一个)。 有关更多信息,请参阅安装 .NET Framework Windows Management Framework 3.0Windows Management Framework 4.0Windows Management Framework 5.1

  • Windows PowerShell 需要进行相关配置,才能运行脚本。默认情况下,它并没有进行配置。 尝试连接时,会出现以下错误:

    无法加载文件,因为在此系统上已禁用运行脚本。 提供有效的证书,以便对文件进行签名。

    为了使从 Internet 下载的所有 PowerShell 脚本能够由受信任的发布者签名,请在提升的 Windows PowerShell 窗口(通过选择“以管理员身份运行”打开的 Windows PowerShell 窗口)中运行以下命令。

    Set-ExecutionPolicy RemoteSigned
    

    有关执行策略的详细信息,请参阅关于执行策略

提示

是否有任何疑问? 在 Exchange 服务器 论坛中寻求帮助。

连接远程 Exchange 服务器

  1. 在本地计算机上,打开 Windows PowerShell 并运行以下命令:

    $UserCredential = Get-Credential
    

    在打开的“Windows PowerShell凭据请求”对话框中, (UPN) (输入用户主体名称, chris@contoso.com 例如) 和密码,然后选择“确定”。

  2. <ServerFQDN> 替换为 Exchange 服务器的完全限定域名(例如 mailbox01.contoso.com),然后运行以下命令:

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<ServerFQDN>/PowerShell/ -Authentication Kerberos -Credential $UserCredential
    

    注意ConnectionUri 的值是 http,而不是 https

  3. 运行以下命令:

    Import-PSSession $Session -DisableNameChecking
    

注意

确保在完成后断开与远程 PowerShell 会话的连接。 如果在不断开会话连接的情况下关闭 Windows PowerShell 窗口,您可能会用完可用的所有远程 PowerShell 会话,然后您需要等待这些会话过期。 要断开远程 PowerShell 会话,请运行以下命令:

Remove-PSSession $Session

如何知道已成功连接?

执行步骤 3 后,Exchange cmdlet 将导入到你的本地 Windows PowerShell 会话,此时会显示一个进度条以便于跟踪。 如果未收到任何错误,说明连接成功。 一个快速测试是运行 Exchange cmdlet(例如 Get-Mailbox),然后查看结果。

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

  • 常见问题是密码错误。 重新运行上述三个步骤,并仔细查看在步骤 1 中输入的用户名和密码。

  • 用于连接到 Exchange 服务器的帐户必须启用远程 PowerShell 访问。 有关详细信息,请参阅 控制 Exchange 服务器的远程 PowerShell 访问

  • TCP 端口 80 通信在你的本地计算机和 Exchange 服务器之间必须为打开状态。 它可能已经打开了,但是要考虑你的组织是否存在严格的网络访问政策。

另请参阅

你在本文中使用的 cmdlet 均为 Windows PowerShell cmdlet。 有关这些 cmdlet 的详细信息,请参阅以下文章: