Windows2008WinRM和WinRS能幫你做什么?

字號:

介紹
    WinRM及WinRS更新包含在Windows Vista, Windows Server 2003 R2, Windows Server 2008 (及 Server 2008 Core)當中。這些強大的命令行管理工具提供系統(tǒng)管理員以改良的方式在Windows機器上進行遠程管理及遠程執(zhí)行程序。不過,他們必須被啟用,并且你將需要花一些時間知道他們的命令行功能特性。 幸好,這本文將提供全部的教程,你有必要今天開始使用這些工具!
    什么是Windows遠程管理 (WinRM)?
    Windows遠程管理(WinRM)是Windows Server 2003 R2, Windows Vista和Windows Server 2008中一種新式的方便遠程管理的服務。WinRM是遠程管理應用的“服務器”組成部分,并且WinRS(Windows遠程Shell)是WinRM的“客戶端”,它在遠程管理WinRM服務器的計算機上運行。 然而,我們應該注意到兩個計算機必須手動安裝WinRS,還要使WinRM能夠啟動并從遠程系統(tǒng)傳回信息。
    WinRM基于Web服務管理(WS-Management)標準。 這么說的意思是:WinRM使用HTTP協(xié)議(80端口)并且用SOAP來請求它工作。 這樣的好處在于HTTP請求能夠非常容易的穿過防火墻進行收發(fā)。 因而它的好壞在于:它使通過Internet管理遠程Windows PC更為容易,或者它更容易適合Internet上存心不良的遠程Windows攻擊者。 WinRM使用HTTP的其它好處在于:如果HTTP入站通訊被允許,就沒有其它端口必需在服務器和客戶端上被開放。
    WinRM是用于系統(tǒng)管理并基于開放標準API的新工具。 因此,如果你在這之前不是很有興趣學習此工具,其實在我的腦海里它實際上是“微軟遠程管理的新標準”,它非常值得了解。
    你可能已經熟悉WMI數(shù)據庫。如果不是這樣,WIM數(shù)據庫包含了那臺計算機上關于硬件和軟件的各種各樣的信息。幾乎每個Windows系統(tǒng)管理程序都會調用到WMI數(shù)據庫,以執(zhí)行需要被在那個PC上執(zhí)行的任何管理任務。
    WinRM將使用WMI數(shù)據庫執(zhí)行你或者你的系統(tǒng)管理包的任務,就像使用VBScript一樣使用另一個編程接口的相似任務。與我在前面提及時相同,WinRM的好處是它使用80端口(HTTP)。并且有些特殊的代碼甚至允許WinRM與IIS共享80入站端口,它們可能正共同運行在80端口上。
    WinRM支持多種驗證方式,以阻止正連接上的任何人進行任何關于你PC客戶端和服務器的管理任務。不過,如同被開放的其他任何端口一樣,如果驗證和加密被放置在了合適的時機,你就已經采取了全部合理的安全防范。
    你的系統(tǒng)管理軟件供應商可能已經打算在他們產品的下一版本里調用WinRM,到時你可能不知不覺的已經通過另一應用程序在使用WinRM了。使用這個CLI工具,你能十分容易地從你想要執(zhí)行的任何系統(tǒng)管理功能的WMI數(shù)據庫中調出信息。
    正如你下面所見,WinRM命令行接口包括許多選項。 此WinRM的幫助信息顯示了在當前系統(tǒng)上WinRM沒有“啟用”或“監(jiān)聽”
    怎樣啟用和使用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是一個非常有特色、能夠提供豐富幫助信息的全命令行工具。
    WinRS最常見的功能就是在遠程計算機上執(zhí)行命令。 當然,這個通訊使用HTTP協(xié)議/端口80(默認)。
    下面是我在本地運行WinRM機器上執(zhí)行WinRS的一個實例。 我運行兩條命令-“ver”和“dir C:”。 每條命令都有適當?shù)男畔⒈环祷亍?BR>    總結
    WinRM和WinRS是Windows系統(tǒng)管理員應該了解的非常強有力的新工具。 我想使用WinRM/WinRS進行遠程管理非常有潛力! 你可以安裝程序、更改設置或者Troubleshooting(只要它連在網絡上)。你甚至能更進一步去擴展它并且把WinRS與腳本組合起來在計算機列表中執(zhí)行那些任務。并且請記住,無論你是否使用這些個工具,你的系統(tǒng)管理軟件在不久的將來全用到它們。