Windows Remote Management se skládá ze dvou částí WinRM (server) a WinRS (klient, remote shell). Služba Windows Remote Management (WS-Management) naslouchá požadavky na definovaném portu TCP (80, 443), používá protokoly HTTP, HTTPS a komunikace je ve výchozí konfiguraci vždy šifrovaná - i při použití protokolu HTTP.

WinRM

Ve výchozím stavu není konfigurován, tzn. nenaslouchá příkazům vzdálené správy na žádném síťovém rozhraní. Je nutno konfigurovat listener alespoň na jednom rozhraní. Lze zabezpečit použitím protokolu HTTPS a vyžadováním autentizace pouze pomocí nejbezpečnějších metod (Kerberos, certifikáty). Protokol HTTPS je konfigurován prostřednictvím příkazu WinRM a předpokládá, že na serveru je přítomen odpovídající certifikát, umožňující autentizaci serveru. Omezení autentizace pouze na vybrané metody lze dosáhnout pomocí Group Policy nebo opět příkazem WinRM. Počáteční povolení listeneru dosáhneme příkazem

winrm quickconfig [-quiet] [-transport:VALUE]

Performs configuration actions to enable this machine for remote management.
Includes:
  1. Start the WinRM service
  2. Set the WinRM service type to auto start
  3. Create a listener to accept request on any IP address
  4. Enable firewall exception for WS-Management traffic (for http only)

-q[uiet]
--------
If present, quickconfig will not prompt for confirmation.

-transport:VALUE
----------------
Perform quickconfig for specific transport.
Possible options are http and https.  Defaults to http.

Informaci o nastavení vypíšeme příkazem  winrm enum winrm/config/listener
Listener
    Address = *
    Transport = HTTP
    Port = 80
    Hostname
    Enabled = true
    URLPrefix = wsman
    CertificateThumbprint
    ListeningOn = 10.1.1.207, 127.0.0.1, ::1, fe80::5efe:10.1.1.207%12, fe80::1451:fd86:81de:1523%11

Listener oddstraníme ze všech rozhraní příkazem  winrm delete winrm/config/Listener?Address=IP:*+Transport=HTTP

Výpis konfigurace získáme příkazem winrm get winrm/config
Config
    MaxEnvelopeSizekb = 150
    MaxTimeoutms = 60000
    MaxBatchItems = 20
    MaxProviderRequests = 25
    Client
        NetworkDelayms = 5000
        URLPrefix = wsman
        AllowUnencrypted = false
        Auth
            Basic = false
            Digest = true
            Kerberos = true
            Negotiate = true
            Certificate = true
        DefaultPorts
            HTTP = 80
            HTTPS = 443
        TrustedHosts
    Service
        RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;ER)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
        MaxConcurrentOperations = 100
        EnumerationTimeoutms = 60000
        MaxConnections = 5
        AllowUnencrypted = false
        Auth
            Basic = false
            Kerberos = true
            Negotiate = true
            Certificate = false
        DefaultPorts
            HTTP = 80
            HTTPS = 443
        IPv4Filter = *
        IPv6Filter = *
    Winrs
        AllowRemoteShellAccess = true
        IdleTimeout = 900000
        MaxConcurrentUsers = 5
        MaxShellRunTime = 2147483647
        MaxProcessesPerShell = 5
        MaxMemoryPerShellMB = 80
        MaxShellsPerUser = 2

Příklady použití  

winrm get wmicimv2/win32_service?name=Schedule -remote:ServerX
winrm get wmicimv2/win32_service?name=winrm -remote:ServerX -format:pretty  
winrm invoke stopservice wmicimv2/win32_service?name=W32time -remote:ServerX  
winrm enumarate wmicimv2/win32_logicaldisk -remote:ServerX

WinRS

Remote shell - je vzdálené rozhraní příkazové řádky pro WinRM, obdoba PSexec.exe (SysInternals). Dovolí spustit libovolný příkaz z příkazové řádky vzdáleného systému (command line) nebo okno samotné příkazové řádky:

 winrs -r ServerX ipconfig
 winrs -r ServerX cmd

Ke spojení použije port 80 nebo 443. Vhledem k autentizaci je použití v doméně snazší než mimo doménu.

Windows 2003 / XP

Tento nástroj existuje i pro předchozí verze Windows (KB936059)