微软在Windows Server 2012中引入了Windows PowerShell Web Access功能,该功能允许管理员通过网络控制台远程运行PowerShell命令和脚本。
在Windows Server 2012 R2或Windows Server 2012上设置PowerShell访问需要用到Web服务器(IIS)、.NET Framework 4.5和Windows PowerShell 3.0或Windows PowerShell 4.0。你可以通过在服务器管理器中的Add Roles and Features向导启用PowerShell Web Access组件。
但是,Web访问会带来一些安全风险,所以你应该提前启用一些安全机制。确保PowerShell Web Access包含基于cmdlet的授权规则,并使用Web服务器(IIS)的安全特性。
例如,如果你知道远程PowerShell连接的确切的IP地址或范围,你可以实施地址限制,指定允许连接的IP地址或地址范围。
PowerShell Web Access的默认URL是https:// < server_name > / pswa。用户登录时必须知道要访问或管理的远程计算机的名称或IP地址。这些用户必须是远程计算机的授权用户,计算机必须配置为允许远程管理。如果用户未退出,连接将在20分钟后自动断开。
正如你在截图中所看到的,PowerShell Web Access在底部有几个按钮:提交、取消、箭头和退出,还能显示你当前连接的远程计算机的名称或IP。
PowerShell Web Access截图
PowerShell Web Access同常规远程Windows PowerShell会话共享同样的限制,因此有一些PowerShell特性和功能不受支持。
PowerShell Web Access也有一些特定的基于web的访问限制。例如,功能键(键盘快捷键)不能工作。输入/输出的颜色不能改变,尽管输出的颜色和风格可通过运行脚本实现改变。
另外,每次只能连接一台远程计算机,在多个选项卡中无法打开PowerShell Web Access。
最后,PowerShell Web Access不要求使用PowerShell和任何远程访问软件,你使用的网络控制台计算机或设备上也无需安装浏览器插件。微软目前只列出了一些受官方支持的桌面浏览器(IE、Firefox、Chrome和Safari),但在移动浏览器(Windows Phone、Android和iOS)上也已经做了成功的测试。具备支持JavaScript、cookies并且能通过HTTPS/SSL连接到安全站点的浏览器的任何计算机或设备都支持PowerShell Web Access功能。