部署 Windows PowerShell Web 访问

 

适用对象:Windows Server 2012, Windows Server 2012 R2

Windows PowerShell® Web Access 在 Windows Server® 2012 中首次引入,充当 Windows PowerShell 网关,可提供以远程计算机为目标的基于 Web 的 Windows PowerShell 控制台。 它可让 IT 专业人士在 Web 浏览器中运行来自 Windows PowerShell控制台的 Windows PowerShell 命令和脚本,无需在客户端设备上安装 Windows PowerShell、远程管理软件或浏览器插件。 运行基于 Web 的 Windows PowerShell 控制台只需要正确配置的 Windows PowerShell Web 访问 网关以及支持 JavaScript(R) 和接受 cookies 的客户端设备浏览器。

客户端设备的示例包括便携式计算机、非工作的个人计算机、借来的计算机、平板计算机、Web 展台、不运行基于 Windows 的操作系统的计算机和手机浏览器。 IT 专业人士可在远程基于 Windows 的服务器上执行重要的管理任务,这些服务器所属的设备配有 Web 浏览器,并可访问 Internet 连接。

成功设置和配置网关后,用户可通过使用 Web 浏览器访问 Windows PowerShell 控制台。 当用户打开安全的 Windows PowerShell Web 访问 网站时,他们可在成功通过身份验证后运行基于 Web 的 Windows PowerShell 控制台。

Windows PowerShell Web 访问 设置和配置是一个三步骤过程:

  1. 安装 Windows PowerShell Web 访问

  2. 配置网关

  3. 配置允许用户访问基于 Web 的 Windows PowerShell 控制台的授权规则

安装和配置 Windows PowerShell Web 访问 之前,我们建议你阅读这一整个指南(其中包括有关如何安装、保护和卸载 Windows PowerShell Web 访问 的说明)。使用基于 Web 的 Windows PowerShell 控制台主题介绍用户如何登录基于 Web 的控制台,并涵盖基于 Web 的 Windows PowerShell 控制台与 powershell.exe 控制台之间的限制和差异。 基于 Web 的控制台的最终用户应阅读使用基于 Web 的 Windows PowerShell 控制台,但无需阅读本指南的其余部分。

本主题并不提供详尽的 Web Server (IIS) 操作指导;仅描述了那些配置 Windows PowerShell Web 访问 网关所必需的步骤。 有关配置和保护 IIS 中的网站安全的详细信息,请参阅“另请参阅”部分中的 IIS 文档资源。

下图显示 Windows PowerShell Web 访问 的工作方式。

Windows PowerShell Web 访问图示

本主题内容:

  • 运行 Windows PowerShell Web 访问的要求

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

  • 建议(快速)部署

  • 自定义部署

  • 配置正版证书

运行 Windows PowerShell Web 访问的要求

Windows PowerShell Web 访问 要求在要运行网关的服务器上运行 Web 服务器 (IIS)、.NET Framework 4.5 以及 Windows PowerShell 3.0 或 Windows PowerShell 4.0。 你可在运行 Windows Server 2012 R2 或 Windows Server 2012 的服务器上安装 Windows PowerShell Web 访问,操作方法是使用 服务器管理器 中的 “添加角色和功能”向导 或适用于 服务器管理器 的 Windows PowerShell 部署 cmdlet。 当你使用 Windows PowerShell Web 访问 或其部署 cmdlet 安装 服务器管理器 时,所需的角色和功能将在安装过程中自动添加。

Windows PowerShell Web 访问 可让远程用户使用 Web 浏览器中的 Windows PowerShell,访问你组织中的计算机。 虽然 Windows PowerShell Web 访问 是便利和功能强大的管理工具,但基于 Web 的访问带有安全风险,应尽可能安全地配置。 我们建议配置 Windows PowerShell Web 访问 网关的管理员使用可用的安全层,它们分别是包括 Windows PowerShell Web 访问 在内的基于 cmdlet 的授权规则以及在 Web 服务器 (IIS) 中和第三方应用程序中可用的安全层。 本文档包括仅建议在测试环境中使用的不安全示例以及建议在安全部署过程中使用的示例。

浏览器和客户端设备支持

Windows PowerShell Web 访问 支持以下 Internet 浏览器。 虽然移动浏览器未正式受到支持,但许多此类浏览器均可运行基于 Web 的 Windows PowerShell 控制台。 其他接受 Cookies、运行 JavaScript 和 HTTPS 网站的浏览器有望投入使用,但尚未接受正式测试。

受支持的台式计算机浏览器

  • Microsoft Windows® 8.0、9.0、10.0 和 11.0 的 Windows® Internet Explorer®

  • Mozilla Firefox(R) 10.0.2

  • Windows 的 Google Chrome(TM) 17.0.963.56m

  • 用于 Windows 的 Apple Safari® 5.1.2

  • 用于 Mac OS® 的 Apple Safari 5.1.2

经过最小限度测试的移动设备或浏览器

  • Windows Phone 7 和 7.5

  • Google Android WebKit 3.1 Browser Android 2.2.1 (Kernel 2.6)

  • iPhone 操作系统 5.0.1 的 Apple Safari

  • iPad 2 操作系统 5.0.1 的 Apple Safari

浏览器要求

若要使用 Windows PowerShell Web 访问 基于 Web 的控制台,浏览器必须执行以下操作:

  • 允许从 Windows PowerShell Web 访问 网关网站打开 cookies。

  • 可打开和访问 HTTPS 页面。

  • 打开和运行使用 JavaScript 的网站。

建议(快速)部署

可以使用 Windows PowerShell cmdlet,或使用从 服务器管理器 中打开的 “添加角色和功能”向导,在运行 Windows Server 2012 R2 或 Windows Server 2012 的服务器上安装 Windows PowerShell Web 访问 网关。 对于快速安装和配置,请使用 Windows PowerShell cmdlet,如本部分中所述。

  • 步骤 1:安装 Windows PowerShell Web 访问

  • 步骤 2:配置网关

  • 步骤 3:配置受限的授权规则

步骤 1:安装 Windows PowerShell Web 访问

使用 Windows PowerShell cmdlet 安装 Windows PowerShell Web 访问

  1. 使用提升的用户权限执行以下任一操作,以打开 Windows PowerShell 会话。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”。

    • 在 Windows“开始”屏幕上,右键单击 Windows PowerShell,然后单击“以管理员身份运行”。

    备注

    在 Windows PowerShell 3.0 和 4.0 中,在运行作为 服务器管理器 模块一部分的 cmdlet 之前,无需将该 cmdlet 模块导入 Windows PowerShell 会话。 在你首次运行 cmdlet(模块的一部分)时,模块被自动导入。 此外,Windows PowerShell cmdlet 不区分大小写。

  2. 键入以下内容,然后按 Enter,其中的 computer_name 代表要安装 Windows PowerShell Web 访问 的远程计算机(如果适用)。 必要时,Restart 参数自动重新启动目标服务器。

    Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName <computer_name> -IncludeManagementTools -Restart
    

    备注

    默认情况下,使用 Windows PowerShell Web 访问 cmdlet 安装 Windows PowerShell 不会添加 Web 服务器 (IIS) 管理工具。 如果你想在相同服务器上安装管理工具并用作 Windows PowerShell Web 访问 网关,请将 IncludeManagementTools 参数添加到安装命令(如本步骤所述)。 如果你通过远程计算机管理 Windows PowerShell Web 访问 网站,则安装 IIS 管理器管理单元,操作方法是在你想通过其管理网关的计算机上安装适用于 Windows 8.1 的远程服务器管理工具适用于 Windows 8 的远程服务器管理工具

    若要在离线的 VHD 上安装角色和功能,你必须添加 ComputerName 参数和 VHD 参数。ComputerName 参数含有安装 VHD 的服务器名称,VHD 参数含有 VHD 在指定服务器上的路径。

    Install-WindowsFeature –Name WindowsPowerShellWebAccess –VHD <path> -ComputerName <computer_name> -IncludeManagementTools -Restart
    
  3. 安装完成时,验证 Windows PowerShell Web 访问 是否已安装在目标服务器上,操作方法是在使用提升的用户权限打开的 控制台中,运行目标服务器上的 Get-WindowsFeatureWindows PowerShell cmdlet。 你还可以验证 Windows PowerShell Web 访问 是否已安装在 服务器管理器 控制台中,操作方法是在**“所有服务器”页面上选择目标服务器,然后查看所选服务器的“角色和功能”**磁贴。 你还可查看 Windows PowerShell Web 访问 的自述文件。

  4. 安装 Windows PowerShell Web 访问 后,系统将提示你查看自述文件,此类文件含有网关的基本且必需的设置说明。 有关这些设置说明,还请参阅以下部分:步骤 2:配置网关。 自述文件的路径是 C:\Windows\Web\PowerShellWebAccess\wwwroot\README.txt。

步骤 2:配置网关

使用 Install-PswaWebApplication cmdlet 可快速配置 Windows PowerShell Web 访问。 虽然你可将 UseTestCertificate 参数添加到 Install-PswaWebApplication cmdlet,以出于测试目的而安装自签名的 SSL 证书,但这种做法是不安全的;对安全的生产环境而言,应始终使用证书颁发机构 (CA) 已签名的有效的 SSL 证书。 管理员可通过 IIS 管理器控制台,使用自行选择的已签名证书代替测试证书。

你可完成 Windows PowerShell Web 访问 Web 应用程序配置,操作方法是运行 Install-PswaWebApplication cmdlet,或在 IIS 管理器中执行基于 GUI 的配置步骤。 默认情况下,cmdlet 在默认网站pswa容器中安装 Web 应用程序 pswa_pool(及其应用程序池,)(如 IIS 管理器所示);必要时,你可指示 cmdlet 更改 Web 应用程序的默认网站容器。 IIS 管理器提供可供 Web 应用程序使用的配置选项,例如更改端口号或安全套接字层 (SSL) 证书。

System_CAPS_security 安全性注意

我们强烈推荐管理员配置网关,以使用 CA 已签名的有效证书。

  • 使用 Install-PswaWebApplication,配置带有测试证书的 Windows PowerShell Web 访问网关。

  • 使用 Install-PswaWebApplication 和 IIS 管理器,配置带有正版证书的 Windows PowerShell Web 访问网关

使用 Install-PswaWebApplication,配置带有测试证书的 Windows PowerShell Web 访问网关。

  1. 执行以下操作之一,打开 Windows PowerShell 会话。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell。

    • 在 Windows“开始”屏幕上,单击 Windows PowerShell。

  2. 键入以下命令,然后按 Enter。

    Install-PswaWebApplication -UseTestCertificate

    System_CAPS_security 安全性注意

    UseTestCertificate 参数仅可在专用测试环境中使用。 对于安全的生产环境,建议使用证书颁发机构已签名的有效证书。

    通过运行 cmdlet,在 IIS 默认网站容器中安装 Windows PowerShell Web 访问 Web 应用程序。 Cmdlet 创建在默认网站 (https://<server_name>/pswa) 上运行 Windows PowerShell Web 访问 所必需的基础结构。 若要在不同的网站上安装 Web 应用程序,请添加 WebSiteName 参数,以提供网站名称。 若要更改 Web 应用程序的名称(默认名称是 pswa),请添加 WebApplicationName 参数。

    通过运行 cmdlet,配置以下设置。 必要时,你可在 IIS 管理器控制台中手动更改这些设置。

    • 路径: /pswa

    • ApplicationPool: pswa_pool

    • EnabledProtocols: http

    • PhysicalPath: %windir%/Web/PowerShellWebAccess/wwwroot

    **示例:**Install-PswaWebApplication –webApplicationName myWebApp –useTestCertificate

    在本示例中,Windows PowerShell Web 访问 的相关网站是 https://< server_name>/myWebApp。

    备注

    你将无法登录,直到用户通过添加授权规则,获得访问该网站的权限。 有关详细信息,请参阅 步骤 3:配置受限的授权规则和 Windows PowerShell Web 访问的授权规则和安全功能

使用 Install-PswaWebApplication 和 IIS 管理器,配置带有正版证书的 Windows PowerShell Web 访问网关

  1. 执行以下操作之一,打开 Windows PowerShell 会话。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell。

    • 在 Windows“开始”屏幕上,单击 Windows PowerShell。

  2. 键入以下命令,然后按 Enter。

    Install-PswaWebApplication

    通过运行 cmdlet,配置以下网关设置。 必要时,你可在 IIS 管理器控制台中手动更改这些设置。 你还可为 WebsiteName cmdlet 的 WebApplicationName 和 Install-PswaWebApplication 参数指定值。

    • 路径: /pswa

    • ApplicationPool: pswa_pool

    • EnabledProtocols: http

    • PhysicalPath: %windir%/Web/PowerShellWebAccess/wwwroot

  3. 通过执行以下操作之一,打开 IIS 管理器控制台。

    • 在 Windows 桌面上,启动 服务器管理器,操作方法是单击 Windows 任务栏中的“服务器管理器”。 在 的“工具”服务器管理器菜单中,单击“Internet 信息服务 (IIS) 管理器”。

    • 在 Windows“开始”屏幕上,单击“服务器管理器”。

  4. 在 IIS 管理器树窗格中,展开已安装 Windows PowerShell Web 访问 的服务器的节点,直到“站点”文件夹可见。 展开“网站”文件夹。

  5. 选择你已安装 Windows PowerShell Web 访问 Web 应用程序的网站。 在“操作”窗格中,单击“绑定”。

  6. 在“网站绑定”对话框中,单击“添加”。

  7. 在“添加网站绑定”对话框的“类型”字段中,选择 https。

  8. 在“SSL 证书”字段中,从下拉菜单中选择你的已签名证书。 单击“确定”。 有关如何获取证书的详细信息,请参阅本主题中的在 IIS 管理器中配置 SSL 证书。

    现可配置 Windows PowerShell Web 访问 Web 应用程序,以便使用已签名的 SSL 证书。 你可通过在浏览器窗口中打开 https://<server_name>/pswa,访问 Windows PowerShell Web 访问。

    备注

    你将无法登录,直到用户通过添加授权规则,获得访问该网站的权限。 有关详细信息,请参阅 步骤 3:配置受限的授权规则和 Windows PowerShell Web 访问的授权规则和安全功能

步骤 3:配置受限的授权规则

安装 Windows PowerShell Web 访问 和配置网关后,用户可在浏览器中打开登录页面,但他们无法登录,直到 Windows PowerShell Web 访问 管理员明确授予用户访问权限。Windows PowerShell Web 访问 访问控制的管理通过使用下表所述的一组 Windows PowerShell cmdlet 来实现。 没有相当的 GUI 可用于添加或管理授权规则。 有关 Windows PowerShell Web 访问 cmdlet 的更多详细信息,请参阅 cmdlet 参考主题 Windows PowerShell Web 访问 Cmdlet

有关 Windows PowerShell Web 访问 授权规则和安全性的更多详细信息,请参阅 Windows PowerShell Web 访问的授权规则和安全功能

添加受限的授权规则

  1. 使用提升的用户权限执行以下任一操作,以打开 Windows PowerShell 会话。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”。

    • 在 Windows“开始”屏幕上,右键单击 Windows PowerShell,然后单击“以管理员身份运行”。

  2. **使用会话配置限制用户访问的可选步骤:**确保规则中已经存在你要使用的会话配置。 如果尚未创建这些配置,则使用 MSDN 上用于在 about_Session_Configuration_Files 中创建会话配置的说明。

  3. 键入以下命令,然后按 Enter。

    Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName <session_configuration_name>
    

    本授权规则允许特定用户通过他们通常访问的网络访问一台计算机,以及可让特定用户拥有对满足用户常见的脚本和 cmdlet 需求的特定会话配置的权限。 在以下示例中,JSmith 域中名为 Contoso 的用户获得访问权限,以管理计算机 Contoso_214,并使用名为 NewAdminsOnly 的会话配置。

    Add-PswaAuthorizationRule –UserName Contoso\JSmith -ComputerName Contoso_214 -ConfigurationName NewAdminsOnly
    
  4. 确保通过运行 Get-PswaAuthorizationRule cmdlet 或 Test-PswaAuthorizationRule -UserName <domain\user | computer\user> -ComputerName <computer_name> 创建了该规则。 例如,Test-PswaAuthorizationRule –UserName Contoso\JSmith –ComputerName Contoso_214

配置授权规则之后,授权用户便可以登录基于 Web 的控制台并开始使用 Windows PowerShell Web 访问。

自定义部署

你可使用 服务器管理器 中的 “添加角色和功能”向导,在运行 Windows Server 2012 R2 或 Windows Server 2012 的服务器上安装 Windows PowerShell Web 访问 网关。 安装 Windows PowerShell Web 访问 之后,可以在 IIS 管理器中自定义网关的配置。

步骤 1:安装 Windows PowerShell Web 访问

若要使用“添加角色和功能向导”安装 Windows PowerShell Web 访问

  1. 如果 服务器管理器 已打开,请继续执行下一步。 如果 服务器管理器 尚未打开,请执行以下任一操作打开它。

    • 在 Windows 桌面上,启动 服务器管理器,操作方法是单击 Windows 任务栏中的“服务器管理器”。

    • 在 Windows“开始”屏幕上,单击“服务器管理器”。

  2. 在“管理”菜单上,单击“添加角色和功能”。

  3. 在“选择安装类型”页上,选择“基于角色或基于功能的安装”。 单击?下一步?。

  4. 在“选择目标服务器”页面上,从服务器池中选择一台服务器,或选择脱机 VHD。 若要将离线的 VHD 选择为你的目标服务器,则先选择安装 VHD 的服务器,然后选择 VHD 文件。 有关如何将服务器添加到你的服务器池的详细信息,请参阅 服务器管理器 帮助。 选择目标服务器后,单击“下一步”。

  5. 在向导的“选择功能”页面上,展开 Windows PowerShell,然后选择 Windows PowerShell Web 访问。

  6. 注意,系统提示你添加所需的功能,例如 .NET Framework 4.5 以及 Web 服务器 (IIS) 的角色服务。 添加所需的功能并继续操作。

    备注

    通过使用 Windows PowerShell Web 访问 来安装 “添加角色和功能”向导 还可安装 Web 服务器 (IIS),包括 IIS 管理器管理单元。 如果你使用 “添加角色和功能”向导,则在默认情况下,也安装了管理单元及其他 IIS 管理工具。 如果你按照以下步骤,使用 Windows PowerShell Web 访问 cmdlet 安装 Windows PowerShell,则不会默认添加管理工具。

  7. 在“确认安装选择”页面上,如果 Windows PowerShell Web 访问 的功能文件并不存储在你在步骤 4 中所选的目标服务器上,则单击“指定备用的源路径”,并提供功能文件的路径。 否则,单击“安装”。

  8. 单击“安装”后,“安装进度”页面将显示安装进度、结果以及有关警告、故障或 Windows PowerShell Web 访问 所必需的安装后配置步骤的信息。 安装 Windows PowerShell Web 访问 后,系统将提示你查看自述文件,此类文件含有网关的基本且必需的设置说明。 这些说明也包括在本主题中。 自述文件的路径是 C:\Windows\Web\PowerShellWebAccess\wwwroot\README.txt。

步骤 2:配置网关

本部分中的说明涉及在网站的子目录(而非根目录)中安装 Windows PowerShell Web 访问 Web 应用程序。 本步骤与 Install-PswaWebApplication cmdlet 执行的基于 GUI 的操作等效。 本部分还包括有关如何使用 IIS 管理器将 Windows PowerShell Web 访问 网关配置为根网站的说明。

  • 使用 IIS 管理器在现有的网站中配置网关

  • 使用 IIS 管理器,将网关配置为带有测试证书的根网站

使用 IIS 管理器在现有的网站中配置网关

  1. 通过执行以下操作之一,打开 IIS 管理器控制台。

    • 在 Windows 桌面上,启动 服务器管理器,操作方法是单击 Windows 任务栏中的“服务器管理器”。 在 的“工具”服务器管理器菜单中,单击“Internet 信息服务 (IIS) 管理器”。

    • 在 Windows“开始”屏幕上,键入“Internet 信息服务 (IIS) 管理器”名称的任何部分。 当它在“应用程序”报告中显示时,单击快捷方式。

  2. 为 Windows PowerShell Web 访问 创建新的应用程序池。 在 IIS 管理器树窗格中展开网关服务器的节点,选择“应用程序池”,然后单击“操作”窗格中的“添加应用程序池”。

  3. 为新的应用程序池添加名称 pswa_pool,或提供其他名称。 单击“确定”。

  4. 在 IIS 管理器树窗格中,展开已安装 Windows PowerShell Web 访问 的服务器的节点,直到“站点”文件夹可见。 选择“站点”文件夹。

  5. 右键单击你想添加 网站的网站(例如,默认网站Windows PowerShell Web 访问),然后单击“添加应用程序”。

  6. 在“别名”字段中,键入 pswa 或提供其他别名。 别名变为虚拟目录的名称。 例如,在以下 URL 中的 pswa 表示在本步骤中指定的别名:https://<server_name>/pswa。

  7. 在“应用程序池”字段中,选择已在步骤 3 创建的应用程序池。

  8. 在“物理路径”字段中,浏览应用程序的位置。 你可使用默认的位置,即 %windir%/Web/PowerShellWebAccess/wwwroot。 单击“确定”。

  9. 按照本主题中的过程在 IIS 管理器中配置 SSL 证书中的步骤执行。

  10. **可选安全步骤:**利用树窗格中所选的网站,双击内容窗格中的“SSL 设置”。 选择“需要 SSL”,然后在“操作”窗格中,单击“应用”。 此外,在“SSL 设置”窗格中,你可要求连接到 Windows PowerShell Web 访问 网站的用户持有客户端证书。 客户端证书可协助验证客户端设备用户的身份。 有关所需的客户端证书如何提高 Windows PowerShell Web 访问 的安全性的详细信息,请参阅本指南中的Windows PowerShell Web 访问的授权规则和安全功能

  11. 在客户端设备上打开浏览器会话。 有关支持的浏览器和设备的详细信息,请参阅本主题中的浏览器和客户端设备支持。

  12. 打开新的 Windows PowerShell Web 访问 网站 https://< gateway_server_name>/pswa。

    浏览器应显示 Windows PowerShell Web 访问 控制台登录页面。

    备注

    你将无法登录,直到用户通过添加授权规则,获得访问该网站的权限。

  13. 在使用提升的用户权限打开的 Windows PowerShell 会话(以管理员身份运行)中,运行以下脚本(其所在的 application_pool_name 表示你已在步骤 3 中创建的应用程序池的名称),以便向授权文件提供应用程序池访问权限。

    $applicationPoolName = "<application_pool_name>"
    $authorizationFile = "C:\windows\web\powershellwebaccess\data\AuthorizationRules.xml"
    c:\windows\system32\icacls.exe $authorizationFile /grant ('"' + "IIS AppPool\$applicationPoolName" + '":R') > $null
    

    若要查看授权文件的现有访问权限,请运行以下命令:

    c:\windows\system32\icacls.exe $authorizationFile
    

使用 IIS 管理器,将网关配置为带有测试证书的根网站

  1. 通过执行以下操作之一,打开 IIS 管理器控制台。

    • 在 Windows 桌面上,启动 服务器管理器,操作方法是单击 Windows 任务栏中的“服务器管理器”。 在 的“工具”服务器管理器菜单中,单击“Internet 信息服务 (IIS) 管理器”。

    • 在 Windows“开始”屏幕上,键入“Internet 信息服务 (IIS) 管理器”名称的任何部分。 当它在“应用程序”报告中显示时,单击快捷方式。

  2. 在 IIS 管理器树窗格中,展开已安装 Windows PowerShell Web 访问 的服务器的节点,直到“站点”文件夹可见。 选择“站点”文件夹。

  3. 在“操作”窗格中,单击“添加网站”。

  4. 键入网站的名称,例如 Windows PowerShell Web 访问。

  5. 新网站的应用程序池自动创建。 若果使用其他应用程序池,请单击“选择”,以选择与新网站相关的应用程序池。 在“选择应用程序池”对话框中选择备用的应用程序池,然后单击“确定”。

  6. 在“物理路径”文本框中,导航到 %windir%/Web/PowerShellWebAccess/wwwroot。

  7. 在“绑定”区域的“类型”字段中,选择 https。

  8. 向网站分配一个不再被其他网站或应用程序使用的端口号。 若要定位打开的端口,你可在“命令提示符”窗口中运行 netstat 命令。 默认端口号为 443。

    如果其他网站已经使用 443,或你有其他更改端口号的安全原因,则更改默认端口。 如果在你的网关服务器上运行的其他网站使用你所选的端口,当你在“添加网站”对话框中单击“确定”时,一条警告信息会显示。 你必须使用未使用的端口运行 Windows PowerShell Web 访问。

  9. 此外,如果你的组织有需要,请指定你的组织和用户都接受的主机名称,例如 www.contoso.com。 单击“确定”。

  10. 为提高生产环境的安全性,我们强烈建议提供证书颁发机构已签名的有效证书。 你必须提供 SSL 证书,因为用户仅可通过 HTTPS 网站连接 Windows PowerShell Web 访问。 有关如何获取证书的详细信息,请参阅本主题中的在 IIS 管理器中配置 SSL 证书。

  11. 单击“确定”以关闭“添加网站”对话框。

  12. 在使用提升的用户权限打开的 Windows PowerShell 会话(以管理员身份运行)中,运行以下脚本(其所在的应用程序池名称表示你已在步骤 4 中创建的应用程序池的名称),以便向授权文件提供应用程序池访问权限。

    $applicationPoolName = "<application_pool_name>"
    $authorizationFile = "C:\windows\web\powershellwebaccess\data\AuthorizationRules.xml"
    c:\windows\system32\icacls.exe $authorizationFile /grant ('"' + "IIS AppPool\$applicationPoolName" + '":R') > $null
    

    若要查看授权文件的现有访问权限,请运行以下命令:

    c:\windows\system32\icacls.exe $authorizationFile
    
  13. 利用在 IIS 管理器树窗格中选择的新网站,单击“操作”窗格中的“启动”,以启动网站。

  14. 在客户端设备上打开浏览器会话。 有关支持的浏览器和设备的详细信息,请参阅本文档中的浏览器和客户端设备支持。

  15. 打开新的 Windows PowerShell Web 访问 网站。

    因为根网站指向 Windows PowerShell Web 访问 文件夹,所以当你打开 https://< gateway_server_name> 时,浏览器应显示 Windows PowerShell Web 访问 登录网页。 你无需向 URL 添加 /pswa

    备注

    你将无法登录,直到用户通过添加授权规则,获得访问该网站的权限。

步骤 3:配置受限的授权规则

安装 Windows PowerShell Web 访问 和配置网关后,用户可在浏览器中打开登录页面,但他们无法登录,直到 Windows PowerShell Web 访问 管理员明确授予用户访问权限。Windows PowerShell Web 访问 访问控制的管理通过使用下表所述的一组 Windows PowerShell cmdlet 来实现。 没有相当的 GUI 可用于添加或管理授权规则。 有关 Windows PowerShell Web 访问 cmdlet 的更多详细信息,请参阅 cmdlet 参考主题 Windows PowerShell Web 访问 Cmdlet

有关 Windows PowerShell Web 访问 授权规则和安全性的更多详细信息,请参阅 Windows PowerShell Web 访问的授权规则和安全功能

添加受限的授权规则

  1. 使用提升的用户权限执行以下任一操作,以打开 Windows PowerShell 会话。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”。

    • 在 Windows“开始”屏幕上,右键单击 Windows PowerShell,然后单击“以管理员身份运行”。

  2. **使用会话配置限制用户访问的可选步骤:**确保规则中已经存在你要使用的会话配置。 如果尚未创建这些配置,则使用 MSDN 上用于在 about_Session_Configuration_Files 中创建会话配置的说明。

  3. 键入以下命令,然后按 Enter。

    Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName <session_configuration_name>
    

    本授权规则允许特定用户通过他们通常访问的网络访问一台计算机,以及可让特定用户拥有对满足用户常见的脚本和 cmdlet 需求的特定会话配置的权限。 在以下示例中,JSmith 域中名为 Contoso 的用户获得访问权限,以管理计算机 Contoso_214,并使用名为 NewAdminsOnly 的会话配置。

    Add-PswaAuthorizationRule –UserName Contoso\JSmith -ComputerName Contoso_214 -ConfigurationName NewAdminsOnly
    
  4. 确保通过运行 Get-PswaAuthorizationRule cmdlet 或 Test-PswaAuthorizationRule -UserName <domain\user | computer\user> -ComputerName <computer_name> 创建了该规则。 例如,Test-PswaAuthorizationRule –UserName Contoso\JSmith –ComputerName Contoso_214

配置授权规则之后,授权用户便可以登录基于 Web 的控制台并开始使用 Windows PowerShell Web 访问。

配置正版证书

对于安全的生产环境,请始终使用证书颁发机构 (CA) 已签名的有效 SSL 证书。 本部分中的过程介绍如何从 CA 获取并应用有效的 SSL 证书。

在 IIS 管理器中配置 SSL 证书

  1. 在 IIS 管理器树窗格中,选择已安装 Windows PowerShell Web 访问 的服务器。

  2. 在内容窗格中,双击“服务器证书”。

  3. 在“操作”窗格中,执行以下操作之一。 有关在 IIS 中配置服务器证书的详细信息,请参阅在 IIS 7 中配置服务器证书

    • 单击“导入”,以从网络上的位置中导入现有的有效证书。

    • 单击“创建证书申请”,以申请证书颁发机构颁发的证书,例如 VeriSign(TM)、Thawte 或 GeoTrust(R)。 证书的公用名必须与申请的主机头相匹配。 例如,如果客户端浏览器申请 https://www.contoso.com/,则公用名也必须是 https://www.contoso.com/。 这是向 Windows PowerShell Web 访问 网关提供证书的最安全的推荐方案。

    • 单击“创建自签名的证书”,以创建你可立即使用的证书,必要时稍后再由 CA 签名。 为自签名的证书指定一个友好名称,例如 Windows PowerShell Web 访问。 此选项被视为不安全的,仅建议在专用测试环境中使用。

  4. 创建或获得证书后,在 IIS 管理器树窗格中选择要应用证书的网站(如默认网站),然后单击“操作”窗格中的“绑定”。

  5. 如果尚未显示,则在“添加网站绑定”对话框中,添加 https 以绑定网站。 如果使用的不是自签名的证书,请从本程序的步骤 3 中指定主机名称。 如果使用的是自签名的证书,则无需执行此步骤。

  6. 选择要使用或在步骤 3 中创建的证书,然后单击“确定”。

使用基于 Web 的 Windows PowerShell 控制台

安装 Windows PowerShell Web 访问 以及按照本主题所述完成网关配置之后,Windows PowerShell 基于 Web 的控制台随时可用。 有关启动基于 Web 控制台的详细信息,请参阅使用基于 Web 的 Windows PowerShell 控制台

请参阅

Internet 信息服务 (IIS) 7.0 文档
IIS 管理器 7.0 帮助
配置 Web 服务器安全 (IIS 7)
IPsec 部署资源