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?
如果你正使用Windows 2008 Server,WinRM已經被安裝但并未啟用。 這是一個很好的安全預防措施。 在你機器上啟用WinRM的簡單方法就是在CMD中運行:
winrm enumerate winrm/config/listener
如果沒有得到返回信息,WinRM未正常運行。 配置WinRM自動啟動并允許遠程訪問,可像以下這樣使用winrm quickconfig命令 : 順便提一下,如果你想在任何時間禁用WinRM,你可以使用這樣的命令: winrm delete winrm/config/listener?IPAdress=*+Transport=HTTP 為了使用WinRM,與之連接的主機必需與WinRM主機是相同域的成員。 如果情況不是這樣,我建議你參考文章“Remotely managing your Server Core using WinRM and WinRS里描述的不同安全情況。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已經啟動。
新聞熱點
疑難解答
圖片精選