WinRM

From ICO wiki
Jump to navigationJump to search

Sissejuhatus

WinRM ehk pikalt välja kirjutades Windows Remote Managment (Windowsi kaughaldus). See on Microsofti uus kaughaldusstandard, mis võimaldab administraatoritel eemalt hallata ja eemalt käivitada programme Windowsi masinatel. Ta reguleerib kaugühendusi WS-Management Protocol-i teel, mille aluseks on SOAP (Simple Object Access Protocol). WinRM funktsioonid on sarnased Windows Management Instrumentationile (WMI), mis oli paigaldatud kõikidele arvutitele, mis kasutasid Windows Millennium Editionit (Me), Windows 2000, Windows XP või Windows Server 2003-e. Enne seda tuli kasutada Remote Procedure Call-i (RPC), kogudes andmeid läbi COM ja DCOM teenusete. Populaarne kaugjuhtimise tööriist, mis kasutas neid RPC-sid, oli näiteks PSTools, mille andis välja Sysinternals.

WinRM võimaldab võrguadministraatoritel avada, redigeerida ja värskendada andmeid nii kohalikes kui ka kaugarvutites. WinRM-i vahendusel on ka võimalik saada näiteks riistvara andmeid WS-Management Protocol rakendustel töötavatelt mitte-Windowsi operatsioonisüsteemidelt nagu näiteks Linux. See võimaldab erinevatel riistvaradel ja operatsioonisüsteemidel tegelikult koos toimida. Administraator saab näiteks võtta andmeid kõikide arvutite kohta võrgus ja panna need ühte kausta ühes arvutis luues seega keskse asukohaga terve võrgustiku sündmuste logi. Julgeolekuriskid on viidud miinimumini kasutades krüpteerimist ja autentimist.


WiRM-i erinevad versioonid

WinRM 0.5

Kuigi WinRM 0,5 ilmus osana Windows Server 2003 R2-st, ei ole ta paigaldatud vaikimisi. WinRM 0.5 asemel oli saadaval Hardware Management funktsioon, mis oli kättesaadav Add/Remove System Components / Control Panel / Management and Monitoring Tools alt.

WinRM 1.0

WinRM 1.0 on vaikimisi paigaldatud osana Windows Vista operatsioonisüsteemist.

WinRM 1.1

WinRM 1.1 on vaikimisi paigaldatud osana Windows Vista Service Pack 1 (SP1) ja Windows Server 2008 SP1. Seda saab paigaldada ka järgmistele operatsioonisüsteemidele: ● Windows Server 2003 SP1 ● Windows Server 2003 SP2 ● Windows Server 2003 R2 ● Windows XP SP2

WinRM 2.0

WinRM 2.0 on vaikimisi paigaldatud osana Windows 7 ja Windows Server ® 2008 R2. Seda saab paigaldada ka osana Windows Management Framework Core paketist järgmistele operatsioonisüsteemidele: ● Windows Server 2008 SP1 ● Windows Server 2008 SP2 ● Windows Server 2003 SP2 ● Windows Vista SP1 ● Windows Vista SP2 ● Windows XP SP3

Kuigi WinRM on olemas kõikides nendes Windowsi operatsioonisüsteemides, ei ole ta vaikimisi aktiveeritud neist üheski.


Kuidas teha kindlaks milline WinRM versioon on paigaldatud arvutisse?

Selleks, et kindlaks teha milline versioon WinRM teie süsteemis töötab, käivitage järgmine käsurida (cmd-s näiteks) (WinRM teenus peab töötama): winrm id. Järgnevas näites on saadud väljund: WinRM versiooni number kuvatakse "ProductVersion" real "Stack:" järgi.

   IdentifyResponse
       ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
       ProductVendor = Microsoft Corporation
       ProductVersion = OS: 6.1.7130 SP: 0.0 Stack: 2.0

Kui hetkel WinRM teenus ei tööta, siis saab kindlaks määrata operatsioonisüsteemil töötava versiooni kontrollides faili %Windir%\System32\wsmsvc.dll versiooni. Allpool toodud tabelis on näidatud WinRM versiooni number kui võtta aluseks faili %Windir%\System32\wsmsvc.dll versiooni number.


Kuidas töötab?

Kõigepealt tuleks kindlaks teha kas WinRM server töötab antud Windowsi masinas. Selleks tuleks trükkida käsureale:

winrm enumerate winrm/config/listener



Kui peaks tekkima alljärgnev veateade, siis see tähendab, et WinRM server ei tööta hetkel antud masinas:

WSManFault Message = The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".

Error number: -2144108526 0x80338012 The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consultthe logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".

Kõige lihtsam viis WinRM serveri käivitamiseks on "winrm quickconfig" käsklus. Seda muidugi juhul kui pole soovi kohandada WinRM serveri konfiguratsiooni.



Vajutada "Y", et kinnitada muutused. Järgnevalt küsitakse, kas lubada tal luua HTTP kuulaja ja luua Windowsi tulemüüris erand.



Vajutada "Y", et kinnitada muutused. Nüüd WinRM töötab ja teda saab kaudselt hallata läbi WinRS-i (WinRM klientprogramm).



Nüüd võiks uuesti jooksutada "winrm enumerate winrm/config/listener" käsklust, et näha kas WinRM ikkagi töötab.



Nagu näha kuulab ta pealt porti number 5985. See on sellepärast, et minu kasutuses on hetkel arvuti millel operatsioonisüsteemiks Windows 7 ja kasutusel on WinRM versioon 2.0.

Nüüd on võimalik teisest arvutist kasutada WinRS klienti, et eemalt anda käske antud tööjaamale või serverile. Seda saab teha läbi "winrs -r:https://minuserver.ee" käsu. Tuleb muidugi meeles pidada, et on vaja käivitada käsurida addministraatori grupis asuva kasutaja alt. Vaikimisi kasutab WinRS oma aktiivse kasutaja Windowsi mandaate (Windows credentials). Sellepärast, et ma ei jooksuta oma arvutit administraatorina (turvalisuse eesmärgil), pean ma ka täpsustama kasutaja kontot Domain Admins õigustega, et tagada õiget juurdepääsu. Selleks kasutan ma -u: lülitit.

Proovime nüüd lugeda kaugmasina c:\ kataloogi struktuuri: winrs -r:http://minuserver:5985 -u:domainname\useraccount "dir c:\"



Nagu näha tagastati käsu tulemus. Vaatame ka millist Windowsi versiooni kasutab see kaugmasin. Selleks tuleb edastada "ver" käsklus winrs -r:http://minuserver:5985 -u:domainname\useraccount "ver"



6.1.7600 on Windows 7 ilma Service Packita.

Kokkuvõtteks

Nagu näha on WinRM väga käepärane tööriist ja seda saab kasutada PSExec-i asemel. Koos Powershell 2.0-iga on antud tööriista võimalused lõputud, teha saab peaaegu kõike.


Viited

http://technet.microsoft.com/en-us/library/ff520073(WS.10).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384372(v=vs.85).aspx

http://blogs.technet.com/b/askperf/archive/2010/09/24/an-introduction-to-winrm-basics.aspx

http://clintboessen.blogspot.com/2010/01/what-is-winrm.html

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384426(v=vs.85).aspx


Koostaja

Tarvo Rohiväli