WinRM (Windows Remote Management) is Microsoft's implementation of
WS-Management
WS-Management (Web Services-Management) is a DMTF open standard defining a SOAP-based protocol for the management of servers, devices, applications and various Web services. WS-Management provides a common way for systems to access and exchange ...
in Windows which allows systems to access or exchange management information across a common network. Utilizing scripting objects or the built-in command-line tool, WinRM can be used with any remote computers that may have
baseboard management controllers (BMCs) to acquire data. Windows-based computers including WinRM certain data supplied by
Windows Management Instrumentation (WMI) can also be obtained.
Components
* WinRM Scripting API
** Provides an
Application programming interface enabling scripts to remotely acquire data from computers that perform WS-Management operations.
* winrm.cmd
** Built-in systems management command line tool allowing a machine operator to configure WinRM. Implementation consists of a
Visual Basic Scripting (VBS) Edition file (Winrm.vbs) which is written using the aforementioned WinRM scripting API.
* winrs.exe
** Another command line tool allowing the remote execution of most Cmd.exe commands. This tool utilizes the WS-Management protocol.
*
Intelligent Platform Management Interface (IPMI) driver
** Provides hardware management and facilitates control of remote server hardware through BMCs. IPMI is most useful when the operating system is not running or deployed as it allows for continued remote operations of the bare metal hardware/software.
* WMI plug-in
** Allows WMI data to be made available to WinRM clients.
* WMI service
** Leverages the ''WMI plug-in'' to provide requested data or control and can also be used to acquire data from most WMI classes. Examples include the Win32_Process, in addition to any IPMI-supplied data.
* WS-Management protocol
** Web Services Management is a
DMTF open standard defining a
SOAP
Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
-based
protocol
Protocol may refer to:
Sociology and politics
* Protocol (politics), a formal agreement between nation states
* Protocol (diplomacy), the etiquette of diplomacy and affairs of state
* Etiquette, a code of personal behavior
Science and technolog ...
for the management of servers, devices, applications and various Web services. WS-Management provides a common way for systems to access and exchange management information across the
IT infrastructure
Information technology infrastructure is defined broadly as a set of information technology (IT) components that are the foundation of an IT service; typically physical components (computer and networking hardware and facilities), but also vario ...
.
* Ports
** By default WinRM HTTPS used 5986 port, and HTTP uses 5985 port. By default, port 5985 is in listening mode, but port 5986 has to be enabled.
Common uses
Ansible
An ansible is a category of fictional devices or technology capable of near-instantaneous or faster-than-light communication. It can send and receive messages to and from a corresponding device over any distance or obstacle whatsoever with no d ...
communicates with Windows servers over WinRM using the
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
''pywinrm'' package and can remotely run
PowerShell
PowerShell is a task automation and configuration management program from Microsoft, consisting of a command-line shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-sou ...
scripts and commands.
Thycotic's Secret Server also leverages WinRM to enable PowerShell remoting.
SolarWinds
SolarWinds Corporation is an American company that develops software for businesses to help manage their networks, systems, and information technology infrastructure. It is headquartered in Austin, Texas, with sales and product development offi ...
Server and Application Monitoring software (SAM) utilizes a WinRM server on monitored servers for its PowerShell integration.
CloudBolt
CloudBolt is a hybrid cloud management platform developed by CloudBolt Software for deploying and managing virtual machines (VMs), applications, and other IT resources, both in public clouds (e.g., AWS, MS Azure, GCP) and in private data cent ...
leverages WinRM as part of Blueprints, Server Actions, and CB Plugins to execute remote scripts on Windows servers using the pytho
pywinrmmodule.
Security
WinRM uses
Kerberos for initial authentication by default. This ensures that actual credentials are never sent in
client-server communications, instead relying on features such as hashing and tickets to connect. Although WinRM listeners can be configured to encrypt all communications using
HTTPS
Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It is used for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is enc ...
, with the use of Kerberos, even if unencrypted HTTP is used, all communication is still encrypted using a symmetric 256-bit key after the authentication phase completes. Using HTTPS with WinRM allows for additional security by ensuring server identity via
SSL/TLS certificates thereby preventing an attacker from impersonating it.
References
External links
Windows Remote Management - Windows applications , Microsoft Docs
{{Windows commands
Microsoft Windows
Network management
Windows administration
Windows components