介绍
    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能帮你做什么?的更多相关文章

  1. Windows 2008 R2防火墙,允许被ping

    netsh firewall set icmpsetting 8 1.         准备 1)         原因 出于安全因素考虑,在Windows 2008 R2上是不允许从外部对其Ping ...

  2. Windows 2008 R2防火墙,允许被ping的设置方法

    这篇文章主要介绍了Windows 2008 R2防火墙,允许被ping的设置方法,需要的朋友可以参考下   1.准备 1)原因 出于安全因素考虑,在Windows 2008 R2上是不允许从外部对其P ...

  3. WinRM和WinRS

    1.6.2 新远程工具:WinRM和WinRS 2012-05-14 10:18 张杰良 译 清华大学出版社 字号:T | T 综合评级: 想读(18)  在读(5)  已读(0)   品书斋鉴(0) ...

  4. Windows 2008 asp.net 配置

    目录 1.     前言.. 32.     部署环境.. 32.1         服务器环境信息.. 33.     磁盘阵列配置.. 44.     安装操作系统.. 45.     安装软件. ...

  5. LVS DR模式 RealServer 为 Windows 2008 R2配置

    有3篇文档详细介绍 http://kb.linuxvirtualserver.org/wiki/Windows_Servers_in_LVS/DR_and_LVS/TUN_Clusters http: ...

  6. Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程

    Windows 2008上的IIS7.5,FTP功能已经非常强大了,完全不下于Serv-U这样的第三方软件.本文小编就介绍在IIS7.5上配置独立账号的FTP站点. 1.创建Windows账号 右击点 ...

  7. 转贴:让Windows 2008 R2 64bit支持ASP.NET 1.1应用程序

    随着 Windows Server 2003 的支持期限到期, 最近有很多企业将目前很多的 Windows Server 2003 升级到 Windows 2008 R2. 之前有许多 Web App ...

  8. Windows 2008 R2 64位上安装wamp失败的原因

    Exception Exception in module wampmanager.exe at 000F15A0... 因测试PHP程序需要,需要在windows系统上布署WAMP环境测试程序,对性 ...

  9. windows 2008 server ftp 无法访问解决办法

    安装一个WINDOWS自带的FTP服务器,整了接近一天的时间,按网上的教程,无论如何搭建.最终都是内部IP可以访问.外部IP无法访问. 1.防火墙全部关掉. 2.FTP所在目录给的是EVERYONE的 ...

随机推荐

  1. 用python计算直角三角形斜边长

    直接上代码 import math def hypotenuse(a,b): return(math.sqrt(a**2+b**2)) side1 = int(input("第一条直角边:& ...

  2. 用log4net快速构建asp.net 异常日志

    log4net是一个非常完善的日志组件. 有着强大的可配置性. 有助于提高开发效率 .log4net是apache组织开发的日志组件, 同其姐妹log4j一样, 是一个开源项目. 可以以插件的形式应用 ...

  3. VMware安装win7系统

    1.创建一个虚拟机 2.配置iso映射文件   3.设置boot设置第一启动为cd   4.快速分区后重启电脑,然后选择[A]安装win7.  重启电脑后安装win7系统   搞定...  

  4. fetch用法说明

    语法说明 fetch(url, options).then(function(response) { // handle HTTP response }, function(error) { // h ...

  5. PMBOK(第六版) PMP笔记——第十章(项目沟通管理)

    PM 大多数时间都用在与干系人的沟通上.第十章有三个过程: 规划沟通管理:根据干系人的需求,制定沟通管理计划管理沟通:根据沟通管理计划发布.收集.处理信息监督沟通:确保在正确时间将正确信息传递给正确的 ...

  6. Sql中的if函数学习

    今天,在修改项目bug时遇到一些需要计算的功能实现,虽然可以用java代码写,但是由于时间较为充裕,有尝试用sql写一下,学习到了if函数 , o.containerSendNet),) transi ...

  7. struts+hibernate+spring整合过程常见问题收集

    1.java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor缺少asm-3.3.jar2.java.lang.NoClassDefF ...

  8. 03_15_interface

    03_15_interface 1. 接口 接口是抽象方法和常量值的定义的集合. 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现. 2. 接口特性 接口 ...

  9. Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用

    //方法一,可以验证登录,但方法不实用.package com.swift; import java.sql.Connection; import java.sql.DriverManager; im ...

  10. fstatfs/statfs详解

    [fstatfs/statfs系统调用]       功能描述:   查询文件系统相关的信息.     用法:   #include <sys/vfs.h>    /* 或者 <sy ...