Welcome to TechNet Blogs Sign in | Join | Help

Om Windows 7 og annen teknisk moro

Min blogg om Windows 7 spesielt og generelt om andre tekniske ting av interesse

Syndication

News

Kristian Svantorp, Teknisk Spesialist, Windows Client
Add to Technorati Favorites

Utrulling


Aktivering



These postings are provided "AS IS" with no warranties, and confer no rights. Use of included code samples are subject to the terms specified at Microsoft - Information on Terms of Use.


Norges Beste Nettsider - Norsktopplisten
WinRM, hva er det?

Hørt om WS-Management før? Web Services for Management. WinRM er Microsoft sin implementasjon av denne protokollen.

 

WS-Management

WS-Management er en protokoll som ble designet av en gruppe hardware og software produsenter som en offentlig standard for å utveksle administrasjonsdata med enhver device som implementerer protokollen.

Den gjeldende standarden er basert på følgende andre standarder: HTTPS, SOAP over HTTP, SOAP 1.2, WS-Addressing, WS-Transfer, WS-Enumeration og WS-Eventing.

Grunnen til valget av disse standardene og ikke minst hovedmotivasjonen bak WS-Management er å kunne tilby interoperabilitet for administrasjon, på tvers av ulike devicer og OS.

WS-Management baserer seg på å sende XML formaterte meldinger ved å bruke web-service standarder som WS-Addressing og WS-Transfer. Disse definerer et XML skjema for ws meldinger og definerer ulike operasjoner og verdier.

WS-Management utvider standardene med nye operasjoner også. F.eks definerer WS-Transfer operasjonene Get, Put, Create og Delete. WS-Management legger til Rename, Partial Get og Partial Put.

 

WinRM

Windows Remote Management, tilgjenglig på Windows Vista & Windows Server 2003 R2 (installer Hardware Management feature).(Klikk for større bilde) Diagram that shows the WinRM architecture

  • WinRM Scripting API for å kunne scripte tilgang og kommunikasjon over WS-Management standarden.
  • WinRM kommandolinjeverktøyet, Winrm.cmd er et verktøy skrevet med VBScript og WinRM API'et. Tillater konfigurering av WinRM, innhenting av data og administrasjon remote.
  •  WinRS.exe er et kommandolinjeverktøy som lar deg eksekvere konsollkommandoer på andre maskiner ved å benytte WS-Management protokollen.
  • WMI Service. Denne fortsetter å kjøre side-ved-side med WinRM og det er faktisk WMI som  skaffer data eller utfører operasjoner man ber om i WinRM.

 

 

 

Forskjellen fra WMI

En veldig klar forskjell er WinRM (WS-Management) baserer seg på å opprette tilkoblingen til maskina gjennom en SOAP basert protokoll, mens WMI benytter seg av DCOM.

 

Ta i bruk WinRM

En WinRM Listener må settes opp på klientmaskinene. WinRM er allerede tilgjenglig i Windows Vista, så det er kun snakk om konfigurering og aktivering. http://msdn2.microsoft.com/en-us/library/aa384372.aspx

 

For å ta det i bruk fort, sjekk ut kommandoen WinRM. Kun for testing kan du benytte winrm quickconfig for å aktivere en listener på klienten.

WinRM blir også i større og større grad mulig å ta i bruk i nyere administrasjonsverktøy fra Microsoft, som f.eks System Center porteføljen.

 

Enkelt Powershell eksempel

 

$w = new-object -comobject "Wsman.Automation"
$s = $w.CreateSession()
$service = read-host "Angi Service"
$sres = "
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=" + $service

$in = $s.Get($sres)
$in

$xmlfile = new-object -comObject "MSXml.DOMDocument"
$xslfile = new-object -comObject "MSXml.DOMDocument"
$xmlfile.LoadXml($in)
$xslfile.Load("WsmTxt.xsl")
$xmlfile.TransformNode($xslfile)

$xmlfile.save("c:\temp\winrm.xml")
$xmfile.text.save("c:\temp\winrm.txt")

$ie = new-object -comObject "Internetexplorer.Application"
$ie.StatusBar = $false
$ie.toolbar = 0
$ie.navigate("c:\temp\winrm.xml")
$ie.visible = $true

 

 

$maskin = read-host "maskin navn"

[xml]$osInfo = winrm get wmicimv2/Win32_OperatingSystem /format:pretty

"OS versjon:" + $osInfo.Win32_OperatingSystem.Version

"Sist starta: " + $osInfo.Win32_OperatingSystem.LastBootupTime.DateTime

 

 WinRM kommando eksempler:

 

  • Kjappt sette opp WS-Man service: winrm QuickConfig
  • fjerne like fort: winrm invoke Restore winrm/Config @{}
  • Vise OS info: winrm get wmicimv2/Win32_OperatingSystem
  • Sjekke CPU load: winrm g wmicimv2/Win32_Processor?DeviceID=CPU0 -fragment:LoadPercentage -r:<some computer>
  • Stoppe en service: winrm invoke stopservice wmicimv2/Win32_Service?name=w32time -r:<some computer> (gjett selv hvordan du starter igjen)

Published Wednesday, May 09, 2007 8:39 PM by Kristian

Filed under: , , ,

Comments

No Comments

New Comments to this post are disabled
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker