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的 ...
随机推荐
- Vue-watch选项
Vue ----watch 选项 用于 监听数据变化: <!DOCTYPE html> <html lang="en"> <head> < ...
- grunt配置sass项目自动编译
1.安装Ruby和SASS 首先我们需要在电脑上安装Ruby和SASS.如果您使用的是Mac,您就没必要安装Ruby.如果您使用的是Window系统,你需要安装Ruby. 2.安装Nodejs 由于使 ...
- visual studio2010中C#生成的,ArcGIS二次开发的basetool的dll,注册为COM组件tlb文件,并在arcmap中加载使用
写了个标题好长啊~~~~ 这两天又认识了一个新玩意,记录一下下,啦啦啦~~~~~ 话说,认识arcgis快十年了,从桌面版到engine的二次开发,其实不过才认识到它的冰山一角, 它总是能带来很多还未 ...
- Mysql update后insert造成死锁原因分析及解决
系统中出现死锁的日志如下: ) TRANSACTION: , ACTIVE sec inserting mysql tables , locked LOCK WAIT lock struct(s), ...
- System Center Configuration Manager 2016 域准备篇(Part3)
步骤2.将CM16加入域 注意:在ConfigMgr服务器(CM16 )上以本地管理员身份执行以下操作 手动加入域,请登录CM16.启动Windows文件资源管理器 右键单击This-PC,然后选择 ...
- LeetCode Merge Sorted Array 合并已排序的数组
void merge(int A[], int m, int B[], int n) { int *a=A,*b=B; ,j=; ||m==){ //针对特殊情况,比如A或B中无元素的情况 & ...
- [Asp.Net] Global.asax
Global.asax.cs文件会被编译到对应的dll 但部署是还需要Global.asax文件 class Global中的方法才会在程序启动时执行
- Android(java)学习笔记152:采用get请求提交数据到服务器(qq登录案例)
1.GET请求: 组拼url的路径,把提交的数据拼装url的后面,提交给服务器. 缺点:(1)安全性(Android下提交数据组拼隐藏在代码中,不存在安全问题) (2)长度有限不能超过4K(h ...
- 简析平衡树(三)——浅谈Splay
前言 原本以为\(Treap\)已经很难了,学习了\(Splay\),我才知道,没有最难,只有更难.(强烈建议先去学一学\(Treap\)再来看这篇博客) 简介 \(Splay\)是平衡树中的一种,除 ...
- css布局:块级元素的居中
一.定宽: 1.定位居中(absolute) 方法一: html: <div class="main"></main> css: .main{ width: ...