使用基于网页的 Windows PowerShell 控制台

更新日期:2013年6月24日

适用于:Windows Server 2012 R2,Windows Server 2012

Windows PowerShell Web Access 允许用户登录一个安全的网站;以便使用 Windows PowerShell 会话、cmdlet 和脚本来管理远程计算机。

由于 Windows PowerShell 控制台运行在网页浏览器中,可以从各种客户端设备中打开;几乎所有带网页浏览器的设备都能正常使用。

基于网页的 Windows PowerShell 控制台针对用户在登录过程中指定的远程计算机。

本主题描述如何登录并开始使用 Windows PowerShell Web Access 基于网页的控制台。

本主题不描述如何使用 Windows PowerShell 或运行 cmdlet 或脚本。 有关如何使用 Windows PowerShell 和脚本资源的信息,请参见本主题末尾的 “另见 ”部分。

支持的浏览器和客户端设备

Windows PowerShell Web Access 支持以下互联网浏览器。 虽然移动浏览器未被官方支持,但许多浏览器可能能够运行基于网页的 Windows PowerShell 控制台。 其他接受Cookie、运行JavaScript和HTTPS网站的浏览器预计能正常工作,但尚未进行官方测试。

支持的桌面电脑浏览器

  • Microsoft Windows 8.0、9.0、10.0 和 11.0 的 Windows Internet Explorer
  • Mozilla Firefox 10.0.2
  • Google Chrome 17.0.963.56m for Windows版
  • Windows 版 Apple Safari 5.1.2
  • Mac OS 版 Apple Safari 5.1.2

测试极少的移动设备或浏览器

  • Windows Phone 7 和 7.5
  • Google Android WebKit 3.1 浏览器 Android 2.2.1(内核 2.6)
  • 苹果 Safari for iPhone作系统 5.0.1
  • Apple Safari for iPad 2作系统 5.0.1

浏览器要求

要使用 Windows PowerShell Web Access 基于网页的控制台,浏览器必须完成以下作。

  • 允许Windows PowerShell Web Access Gateway网站的cookie。
  • 能够打开并阅读HTTPS页面。
  • 打开并运行使用JavaScript的网站。

登录Windows PowerShell Web Access

您的 Windows PowerShell Web Access 管理员应为您提供一个 URL 地址,该地址是您组织 Windows PowerShell Web Access 网关网站的地址。 默认情况下,该网站地址为 https://<server_name>/pswa

在登录Windows PowerShell Web Access之前,请确保你已经掌握了你想管理的远程计算机的名称或IP地址。 您必须是远程计算机的授权用户,并且该计算机必须配置为支持远程管理。 有关如何配置电脑以允许远程管理的更多信息,请参见 Windows PowerShell中的“启用和使用远程命令”。

配置电脑支持远程管理的最简单方法是在电脑上运行 Enable-PSRemoting -force 该 cmdlet,在已开启并提升用户权限的 Windows PowerShell 会话中(以管理员身份运行)。

登录Windows PowerShell Web Access

  1. 在互联网浏览器窗口或标签页中打开 Windows PowerShell Web Access 网站。

  2. 在 Windows PowerShell Web Access 登录页面,提供你的网络用户名、密码以及你想管理的计算机名称(你是授权用户)。 如果 Windows PowerShell Web Access 管理员指示你用 URI 访问自定义站点或代理服务器,而不是计算机名,请在连接类型字段中选择连接 URI,然后提供该 URI。

    注释

    • 如果目标计算机属于工作组,请使用以下语法输入用户名并登录该计算机: <workgroup_name>\<user_name>
    • 如果目标计算机是网关服务器,你可以在“计算机”名称字段中指定localhost
    • 如果目标计算机是网关服务器,且网关服务器属于工作组,您必须在提交的用户名中使用 <workgroup name>\<user_name> “。 你可以在“电脑”名称字段里使用 localhost
  3. 可选连接设置部分涉及您想管理的远程计算机的授权要求。 有关等价于可选连接设置的参数的更多信息,请参阅 Enter-PSSession cmdlet 帮助。

    通常,你用来通过Windows PowerShell Web Access网关的凭证,是你想管理的远程计算机识别的。 不过,如果你想用步骤2中指定的远程电脑使用不同的凭证,可以展开 可选连接设置 部分,并提供备用凭证。 否则,请跳到步骤 6。

  4. 如果 Windows PowerShell Web Access 管理员为 Windows PowerShell Web Access 用户创建了自定义会话配置,请在 配置名称 字段中输入会话配置名称。 有关会话配置的详细信息,请参阅 about_Session_Configurations

  5. 除非 Windows PowerShell Web Access 管理员有其他指示,否则请将 认证类型 设置为 默认

  6. 单击登录

签出和超时

以下任一行为将让你退出基于网页的 Windows PowerShell 会话。

  • 点击控制台右下角的 “登出 ”。 (仅限Windows Server 2012)

  • 在控制台右下角点击 保存退出 (仅限Windows Server 2012 R2)。 点击 保存 会保存并关闭你的 Windows PowerShell Web 访问会话;你可以稍后重新连接会话。 当你再次登录 Windows PowerShell Web Access 时,Windows PowerShell Web Access 会显示你保存的会话列表;你可以选择并重新连接保存的会话,或者开始新会话。 用户被允许的最大开放会话数(包括保存和活跃会话)由网关管理员配置。

    点击 退出 会让你从Windows PowerShell Web访问会话中登出,但不会保存它。

  • 尝试登录管理同一浏览器会话中的另一台远程计算机,或在同一浏览器会话的新标签页中。 (如果网关服务器运行的是Windows Server 2012 R2,则不适用;运行在 Windows Server 2012 R2 上的 Windows PowerShell Web Access 允许在同一浏览器会话的新标签页中进行多个用户会话。)有关如何在同一台计算机上使用多个活跃会话的更多信息,请参见本主题“基于 网页的控制台限制 ”部分中的“同时连接多个目标计算机”。

  • 会话中20分钟的不活动。 网关管理员可以自定义非活动超时时间;更多信息请参见 会话管理

    • 如果你因网络错误或其他非计划性的关机或失败而从基于网页的控制台的会话中断开连接,而非你自己关闭了会话,Windows PowerShell Web Access 会话会继续运行,连接到目标计算机,直到客户端的超时期结束。 默认情况下,该超时时间为20分钟,由网关管理员配置。 会话在默认的20分钟后或网关管理员指定的超时时间后(以较短者为准)断开连接。

      如果网关服务器运行的是 Windows Server 2012 R2,Windows PowerShell Web Access 允许用户在稍后重新连接已保存的会话,但你在网关管理员指定的超时期结束之前,无法查看或重新连接保存的会话。

  • 关闭浏览器窗口或标签页。

  • 关闭运行浏览器的客户端设备,或将其从网络中断开连接。

  • 在网页控制台运行 退出 命令。 如果你连接的会话配置支持 NoLanguage 模式,或处于受限运行空间,该命令无法使用。

如果您想再次登录,请再次打开Windows PowerShell网页,并按照本主题中“ 登录Windows PowerShell网页访问 ”中的步骤登录。

基于网页的 Windows PowerShell 控制台的差异

登录 Windows PowerShell Web Access 后,浏览器窗口或标签页会打开一个基于网页的 Windows PowerShell 控制台。由于控制台连接到你登录过程中指定的远程计算机,只有远程计算机上可用的 Windows PowerShell 命令或脚本才能在控制台中使用。 本节描述了 Windows PowerShell Web Access 控制台的其他限制,以及 Windows PowerShell Web Access 控制台与已安装 PowerShell.exe 控制台之间的区别。

与 PowerShell.exe 的功能差异

Windows PowerShell 主机的大部分功能可以在基于 Windows 的 PowerShell Web Access 网页控制台中提供,但有些功能无法使用。

  • 嵌套进度显示。

    Windows PowerShell Web Access 会显示进度 GUI 用于 cmdlet 报告进度,但只显示顶层进度信息。

  • 输入颜色修改。

    输入颜色(前景和背景)不能更改。 输出、警告、冗长和错误消息的样式都可以通过运行脚本来改变。

  • PSHostRaw用户界面。

    Windows PowerShell Web 访问是基于 Windows PowerShell 远程管理实现的,并使用远程运行空间。 Windows PowerShell Web Access 不在该接口中实现某些方法;例如,任何写入Windows控制台的命令。 像 PowerTab 这样的命令在 Windows PowerShell Web Access 中无法使用。

  • 功能键。

    Windows PowerShell Web Access 不支持某些功能键,因为命令被浏览器保留。

不支持的快捷键

功能键 Action
Ctrl+C 在 Windows PowerShell Web Access 中,浏览器使用 Ctrl+C 来复制内容。 控制台提供 取消 按钮,用户也可以通过 Ctrl+Q 取消命令。
另类空间,e,l 滚动浏览屏幕缓冲区
Alt+Space, e, f 在屏幕缓冲区中搜索文本
Alt+Space, e, k 选择从屏幕缓冲区复制的文本
Alt+Space, e, p 将剪贴板内容粘贴到 Windows PowerShell 控制台中
Alt+Space, c 关闭 Windows PowerShell 控制台
Ctrl+Break 强制关闭 Windows PowerShell 窗口
Ctrl+Home 从当前命令行开头删除
Ctrl+End 删除到命令行末尾
F1 将光标向命令行右边移动一个字符
F2 通过复制你上一个命令到你输入的字符,创建一个新命令
F3 用你上一个命令行的内容完成命令行
F4 删除光标位置上的角色
F5 回头浏览你的指挥历史。 要访问Windows PowerShell Web Access中的命令历史中的命令,请点击基于网页的控制台中的 历史 滚动按钮。
F7 交互式地从你的指挥历史中选择命令
F8 扫描历史显示与当前文本匹配的命令
F9 运行历史上特定的编号命令
上页 执行历史上的第一个命令
下页 执行历史上的最后一个命令
Alt+F7 清除指挥历史列表

基于网页的控制台的局限性

  • 双跳

    如果你尝试用 Windows PowerShell Web Access 创建或运行新会话,可能会遇到双跳(或从第一个连接连接到第二台电脑)的限制。 Windows PowerShell Web Access 使用远程运行空间,目前 PowerShell.exe 不支持从远程运行空间建立与第二台计算机的远程连接。 例如,如果你尝试用 Enter-PSSession cmdlet 从已有连接连接到第二台远程电脑,可能会出现各种错误,比如 €œCannot get network resources。

    为避免双跳错误,您的管理员应在组织网络环境中配置 CredSSP 认证。 有关配置 CredSSP 认证的更多信息,请参见 PowerShell 博客上的 CredSSP 关于二跳远程处理 的内容。 当你想管理第二台远程计算机时,也可以提供显式凭证;隐式凭证不太可能允许第二次跳跃。

  • 远程处理

    Windows PowerShell Web Access 使用且具有与远程 Windows PowerShell 会话相同的限制。 直接调用Windows控制台API的命令,如基于控制台的编辑器或基于文本的菜单程序,无法使用,因为这些命令无法读写到标准的输入、输出和错误管道。 因此,启动可执行文件(如 notepad.exe)或显示图形界面(如 OpenGridViewogv)的命令无法使用。 你的体验会受到这种行为的影响;对你来说,看起来 Windows PowerShell Web Access 没有响应你的命令。

  • Tab 自动补全

    在运行空间受限或处于 无语言 模式的会话配置中,制表补全功能无法实现。 虽然管理员可以配置会话支持标签补全,但出于安全原因不建议这样做,因为这可能会暴露给未授权用户以下信息。

    • 内部文件系统路径
    • 内部计算机上的共享文件夹
    • 运行空间中的变量
    • Framework命名空间 or.NET 加载类型
    • 环境变量
  • NoLanguage 会话,或受限运行空间

    登录 NoLanguage 会话配置或 Windows PowerShell Web Access 受限运行空间的用户无法执行 Exit 命令结束会话。 要登出,用户应在控制台页面点击 “登出 ”。

  • 同时连接多个目标计算机。

    如果网关服务器运行的是 Windows Server 2012,Windows PowerShell Web Access 每个浏览器会话只允许一个远程计算机连接;它不允许用户一次性登录,也不能通过不同的浏览器标签页连接多台远程电脑。 当你打开新标签页或新浏览器窗口时,Windows PowerShell Web Access 会提示你断开当前会话并开始新会话,以便连接到新的(或同一台)远程计算机。 然而,如果需要两个或更多独立的会话到不同的远程计算机,Internet Explorer 中的一个功能允许你创建新的会话。 要在Internet Explorer中启动新浏览器会话,按 ALT,打开 文件 菜单,然后选择 新会话。 然后,在新会话中打开 Windows PowerShell Web Access 网站,登录以访问另一台远程计算机。

    当Windows PowerShell Web Access网关运行在Windows Server 2012 R2上时,用户可以在不同的浏览器标签页中打开多个连接到远程计算机的连接。 如果你想通过基于网页的 Windows PowerShell 控制台开启多个远程计算机连接,请向你的 Windows PowerShell Web Access 网关管理员确认该网关服务器是否支持此功能。

  • Persistent Windows PowerShell sessions (Reconnection).

    在你超时离开 Windows PowerShell Web Access 网关后,网关与目标计算机之间的远程连接会被关闭。 这样可以停止当前正在处理的 cmdlet 或脚本。 建议你在执行长时间运行任务时使用 Windows PowerShell -Job 基础设施,这样你可以启动任务、断开连接、稍后重新连接,并且让作业得以持续存在。 使用 -Job cmdlet 的另一个好处是,你可以通过 Windows PowerShell Web Access 启动它们,登出,然后再重新连接,无论是运行 Windows PowerShell Web Access 还是其他主机(如 Windows PowerShell 集成脚本环境 ISE)。

  • 控制台调整大小。

    PowerShell.exe 控制台窗口可以通过以下三种方式调整大小。

    • 用鼠标拖拽并调整控制台窗口大小

    • 通过使用图形界面来更改控制台属性的高度和宽度属性

    • 用命令小工具改变控制台窗口的高度和宽度

      Windows PowerShell Web Access 的控制台窗口可以通过以下 cmdlet 进行配置。 在以下示例中,用户将 Windows PowerShell Web Access 控制台的宽度改为 20

      $newSize = $Host.UI.RawUI.WindowSize
      $newSize.Width = $newSize.Width - 20
      $oldSize = $Host.UI.RawUI.WindowSize
      $Host.UI.RawUI.WindowSize = $newSize
      

      你也可以用类似的方式调整控制台的高度。

      更多自定义控制台视图的示例可见 于 Windows PowerShell 团队博客

另请参阅