Windows 2008 WinRM和WinRS能帮你做什么?
介绍
WinRM及WinRS更新包含在Windows Vista, Windows Server 2003 R2, Windows Server 2008 (及 Server 2008 Core)当中。 这些强大的命令行管理工具提供系统管理员以改良的方式在Windows机器上进行远程管理及远程执行程序。 不过,他们必须被启用,并且你将需要花一些时间知道他们的命令行功能特性。 幸好,这本文将提供全部的教程,你有必要今天开始使用这些工具!
什么是Windows远程管理 (WinRM)?
Windows远程管理(WinRM)是Windows Server 2003 R2, Windows Vista和Windows Server 2008中一种新式的方便远程管理的服务。WinRM是远程管理应用的“服务器”组成部分,并且WinRS(Windows远程Shell)是WinRM的“客户端”,它在远程管理WinRM服务器的计算机上运行。 然而,我们应该注意到两个计算机必须手动安装WinRS,还要使WinRM能够启动并从远程系统传回信息。
WinRM基于Web服务管理(WS-Management)标准。 这么说的意思是:WinRM使用HTTP协议(80端口)并且用SOAP来请求它工作。 这样的好处在于HTTP请求能够非常容易的穿过防火墙进行收发。 因而它的好坏在于:它使通过Internet管理远程Windows PC更为容易,或者它更容易适合Internet上存心不良的远程Windows攻击者。 WinRM使用HTTP的其它好处在于:如果HTTP入站通讯被允许,就没有其它端口必需在服务器和客户端上被开放。
WinRM是用于系统管理并基于开放标准API的新工具。 因此,如果你在这之前不是很有兴趣学习此工具,其实在我的脑海里它实际上是“微软远程管理的新标准”,它非常值得了解。
你可能已经熟悉WMI数据库。如果不是这样,WIM数据库包含了那台计算机上关于硬件和软件的各种各样的信息。几乎每个Windows系统管理程序都会调用到WMI数据库,以执行需要被在那个PC上执行的任何管理任务。
WinRM将使用WMI数据库执行你或者你的系统管理包的任务,就像使用VBScript一样使用另一个编程接口的相似任务。与我在前面提及时相同,WinRM的好处是它使用80端口(HTTP)。并且有些特殊的代码甚至允许WinRM与IIS共享80入站端口,它们可能正共同运行在80端口上。
WinRM支持多种验证方式,以阻止正连接上的任何人进行任何关于你PC客户端和服务器的管理任务。不过,如同被开放的其他任何端口一样,如果验证和加密被放置在了合适的时机,你就已经采取了全部合理的安全防范。
你的系统管理软件供应商可能已经打算在他们产品的下一版本里调用WinRM,到时你可能不知不觉的已经通过另一应用程序在使用WinRM了。使用这个CLI工具,你能十分容易地从你想要执行的任何系统管理功能的WMI数据库中调出信息。
正如你下面所见,WinRM命令行接口包括许多选项。 此WinRM的帮助信息显示了在当前系统上WinRM没有“启用”或“监听”

图1: WinRM命令行选项
怎样启用和使用WinRM?
如果你正使用Windows 2008 Server,WinRM已经被安装但并未启用。 这是一个很好的安全预防措施。 在你机器上启用WinRM的简单方法就是在CMD中运行:
winrm enumerate winrm/config/listener
如果没有得到返回信息,WinRM未正常运行。 配置WinRM自动启动并允许远程访问,可像以下这样使用winrm quickconfig命令 :
C:\Users\Administrator> winrm quickconfig
WinRM is not set up to allow remote access to this machine for management.
The following changes must be made:
Create a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.
Make these changes [y/n]? y
WinRM has been updated for remote management.
Created a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.
C:\Users\Administrator>
Once I configured the quickconfig, I reran the enumeration command with these results:
C:\Users\Administrator> winrm e winrm/config/listener
Listener
Address = *
Transport = HTTP
Port = 80
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 10.253.15.98, 127.0.0.1, ::1, fe80::5efe:10.253.15.98%11, fe80::9583:2148:e1ef:6444%10
C:\Users\Administrator>
从这里,我们可以知道WinRM已经启动。
顺便提一下,如果你想在任何时间禁用WinRM,你可以使用这样的命令:
winrm delete winrm/config/listener?IPAdress=*+Transport=HTTP
为了使用WinRM,与之连接的主机必需与WinRM主机是相同域的成员。 如果情况不是这样,我建议你参考文章“Remotely managing your Server Core using WinRM and WinRS里描述的不同安全情况。
什么是 WinRS,我怎样使用它?
WinRS是Windows远程Shell。 使用WinRS你可以查询远程运行WinRM的Windows主机。不过请记住,你的主机也需要运行WinRM来使用WinRS。
如你从下面的图解中看到的一样,winrs是一个非常有特色、能够提供丰富帮助信息的全命令行工具。

图2: WinRM命令行选项
WinRS最常见的功能就是在远程计算机上执行命令。 当然,这个通讯使用HTTP协议/端口80(默认)。
下面是我在本地运行WinRM机器上执行WinRS的一个实例。 我运行两条命令-“ver”和“dir C:”。 每条命令都有适当的信息被返回。

图3: WinRS命令演示
总结
WinRM和WinRS是Windows系统管理员应该了解的非常强有力的新工具。 我想使用WinRM/WinRS进行远程管理非常有潜力! 你可以安装程序、更改设置或者Troubleshooting(只要它连在网络上)。 你甚至能更进一步去扩展它并且把WinRS与脚本组合起来在计算机列表中执行那些任务。 并且请记住,无论你是否使用这些个工具,你的系统管理软件在不久的将来全用到它们。
Windows 2008 WinRM和WinRS能帮你做什么?的更多相关文章
- Windows 2008 R2防火墙,允许被ping
netsh firewall set icmpsetting 8 1. 准备 1) 原因 出于安全因素考虑,在Windows 2008 R2上是不允许从外部对其Ping ...
- Windows 2008 R2防火墙,允许被ping的设置方法
这篇文章主要介绍了Windows 2008 R2防火墙,允许被ping的设置方法,需要的朋友可以参考下 1.准备 1)原因 出于安全因素考虑,在Windows 2008 R2上是不允许从外部对其P ...
- WinRM和WinRS
1.6.2 新远程工具:WinRM和WinRS 2012-05-14 10:18 张杰良 译 清华大学出版社 字号:T | T 综合评级: 想读(18) 在读(5) 已读(0) 品书斋鉴(0) ...
- Windows 2008 asp.net 配置
目录 1. 前言.. 32. 部署环境.. 32.1 服务器环境信息.. 33. 磁盘阵列配置.. 44. 安装操作系统.. 45. 安装软件. ...
- LVS DR模式 RealServer 为 Windows 2008 R2配置
有3篇文档详细介绍 http://kb.linuxvirtualserver.org/wiki/Windows_Servers_in_LVS/DR_and_LVS/TUN_Clusters http: ...
- Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
Windows 2008上的IIS7.5,FTP功能已经非常强大了,完全不下于Serv-U这样的第三方软件.本文小编就介绍在IIS7.5上配置独立账号的FTP站点. 1.创建Windows账号 右击点 ...
- 转贴:让Windows 2008 R2 64bit支持ASP.NET 1.1应用程序
随着 Windows Server 2003 的支持期限到期, 最近有很多企业将目前很多的 Windows Server 2003 升级到 Windows 2008 R2. 之前有许多 Web App ...
- Windows 2008 R2 64位上安装wamp失败的原因
Exception Exception in module wampmanager.exe at 000F15A0... 因测试PHP程序需要,需要在windows系统上布署WAMP环境测试程序,对性 ...
- windows 2008 server ftp 无法访问解决办法
安装一个WINDOWS自带的FTP服务器,整了接近一天的时间,按网上的教程,无论如何搭建.最终都是内部IP可以访问.外部IP无法访问. 1.防火墙全部关掉. 2.FTP所在目录给的是EVERYONE的 ...
随机推荐
- #include stdio.h(2)
#include <stdio.h> //mian函数是程序的入口 int main() { /* //函数:是按一定的格式对一段代码的封装 //专门用来实现一功能的代码合集,可以重复使用 ...
- javascript浮点值运算舍入误差
问题 在javascript中整数和浮点数都属于Number数据类型(简单数据类型中的一种),我们经常会发现在打印1.0这样的浮点数的结果是1而非1.0,这是由于保存浮点数的内存空间是保存整数值的两倍 ...
- 海海DRM视频保护解密流程分析
环境及工具 手机 :小米手机 MI 2A 系统版本: Android 4.1.1 工具 : IDA pro 6.6 .C32Asm .VS2005 一:第一次打开加密视频会出现如下验证: ...
- .NET中异常类(Exception)
异常:程序在运行期间发生的错误.异常对象就是封装这些错误的对象. try{}catch{}是非常重要的,捕获try程序块中所有发生的异常,如果没有捕获异常的话,程序运行的线程将会挂掉,更严重的是这些错 ...
- LeetCode Valid Anagram (简单题)
题意: 给出两个字符串s和t,判断串t是否为s打乱后的串. 思路: 如果返回的是true,则两个串的长度必定相等,所有字符出现的次数一样.那么可以统计26个字母的次数来解决,复杂度O(n).也可以排序 ...
- 制作X509证书
makecert -r -pe -n "CN=XXX" -b 01/01/2005 -e 01/01/2020 -sky exchange -ss my
- 使用JDBC操作SAP云平台上的HANA数据库
本文假设您对JDBC(Java Database Connectivity)有最基本的了解.您也可以将其同ADBC(ABAP Database Connectivity)做对比,细节请参考我的博客AD ...
- app之间的跳转和传参问题
app 之间跳转和传参: 首先 创建2个app formApp (需要跳转到另外app的项目) toApp(被跳转的项目) 一:在toApp 项目中的操作: 1:创建URLSchemes ...
- js 封装父页面子页面交互接口
定义标准接口 Interface= {}; Interface.ParentWin = {}; Interface.ChildWin = {}; /** * 父页面提供的标准接口函数名称 */ Int ...
- UVA1629 Cake slicing
题目传送门 直接暴力定义f[x1][y1][x2][y2]是使对角为\((x1, y1),(x2, y2)\)这个子矩形满足要求的最短切割线长度 因为转移顺序不好递推,采用记忆化搜索 #include ...