/
/

Complete Guide: How to Enable WinRM on Windows 10/11

How to Enable WinRM on Windows 10:11 blog banner image

In this article, you will learn how to enable WinRM on Windows 10 or 11.  Managing Windows systems remotely saves IT administrators countless hours of desk-side visits and manual interventions. When you need to execute commands, run scripts, or collect system information from multiple machines, Windows Remote Management (WinRM) becomes your essential toolkit.

What is WinRM?

Windows Remote Management is Microsoft’s implementation of the WS-Management protocol. This protocol establishes a standardized way for operating systems to access and exchange management information across devices with different hardware and software configurations. WinRM serves as the foundation for PowerShell remoting, allowing administrators to execute PowerShell commands on remote computers without requiring direct physical access.

The protocol operates over HTTP or HTTPS and uses Simple Object Access Protocol (SOAP) to transmit information between systems. WinRM leverages port 5985 for HTTP traffic and port 5986 for HTTPS connections, creating a secure channel for executing commands, retrieving information, and managing system configurations remotely.

Benefits for IT administrators

Remote PowerShell sessions through WinRM allow for powerful scripting capabilities that automate repetitive tasks across hundreds or thousands of endpoints. IT professionals gain the ability to collect detailed system information, modify configurations, install or remove software,, and restart services without leaving their desk.

Additionally, WinRM provides enhanced security through various authentication methods and encryption options, allowing administrators to maintain strict security controls while still benefiting from remote management capabilities.

How to prepare for WinRM implementation

Before enabling WinRM on your Windows systems, take time to verify the prerequisites and configure your environment correctly. This will save you troubleshooting efforts later.

Obtain required system permissions

Implementing WinRM requires appropriate administrative access to make system-wide changes. You must have local administrator privileges on each target machine where you’ll enable Windows Remote Management. For domain environments, consider using domain administrator credentials to maintain a consistent configuration across multiple systems.

Beyond local permissions, verify that your user account has the necessary rights to modify Windows services, configure Windows Firewall rules, and make registry changes. In enterprise environments, you might need to coordinate with security teams to temporarily elevate permissions or create a dedicated service account with the specific rights needed for WinRM configuration.

Check your network configuration checklist

Network configuration plays a crucial role in the successful WinRM implementation. Before enabling the service, verify that your network environment can support the required communication channels. Review your current network setup with these key elements in mind:

  • Confirm that TCP ports 5985 (HTTP) and 5986 (HTTPS) are open between management stations and target computers.
  • Verify that Windows Firewall or third-party security software won’t block WinRM traffic.
  • Ensure DNS resolution works properly between systems that will communicate via WinRM.
  • Verify that network devices, such as routers and firewalls, permit WinRM traffic on the required ports.
  • For domain environments, confirm that Group Policy doesn’t restrict WinRM configuration.

Step-by-step WinRM activation process

Activating WinRM on Windows 10 and 11 systems can be done in several ways, depending on your environment requirements and administrative preferences. You’d need toenable the WinRM service, configurethe appropriate listeners and set up all necessary firewall rules.

Command-line enablement methods

The command line offers the most direct and scriptable method for enabling WinRM on Windows systems. This approach works well for both individual computers and batch deployment scenarios where you need to configure multiple systems simultaneously.

Open an elevated Command Prompt for access to the WinRM quickconfig command. This automates most of the setup process.

Follow these steps:

  1. Right-click on the Start menu and select “Command Prompt (Admin)” or “Windows PowerShell (Admin)”.
  2. Type winrm quickconfig and press Enter.
  3. When prompted to make changes, type “Y” and press Enter.
  4. Wait for the configuration to complete and verify the success message.
  5. Test the connection by typing winrm identify -r:http://localhost:5985 and pressing Enter.

PowerShell configuration commands

PowerShell provides powerful options for configuring WinRM with more granular control than the basic quickconfig command. Using PowerShell commands allows administrators to customize authentication methods, encryption requirements, and other advanced settings.

To configure WinRM using PowerShell, complete these actions:

  1. Launch PowerShell with administrative privileges by right-clicking the Start menu and selecting “Windows PowerShell (Admin)”.
  2. Execute Enable-PSRemoting -Force to configure WinRM with default settings.
  3. Run Set-Item WSMan:\localhost\Client\TrustedHosts -Value ‘*’ -Force to allow connections to any host.
  4. Verify the configuration by running Test-WSMan -ComputerName localhost.
  5. For additional security, run Set-WSManQuickConfig -UseSSL to configure HTTPS listeners.

Securing your WinRM connections

While WinRM enables powerful remote management capabilities, it also creates potential security vulnerabilities if improperly configured. Implementing appropriate security measures protects your management channels from unauthorized access.

Authentication options

WinRM supports multiple authentication mechanisms that determine how clients prove their identity when connecting to remote systems. Selecting the appropriate authentication method depends on your security requirements and network environment. By default, WinRM uses Kerberos authentication in domain environments and NTLM for workgroup scenarios.

For environments requiring enhanced security, certificate-based authentication provides stronger protection against credential theft and man-in-the-middle attacks. Implementing certificate authentication requires deploying a Public Key Infrastructure (PKI) and configuring appropriate certificate templates. Basic authentication transmits credentials in an encoded format that isn’t secure without additional transport layer protection, like HTTPS.

Encryption best practices

Encrypting WinRM traffic protects sensitive management data and prevents unauthorized interception of commands and responses. When configuring your WinRM environment, consider these encryption recommendations:

  • Configure HTTPS listeners instead of HTTP whenever possible using winrm quickconfig -transport:https.
  • Generate and install proper SSL certificates on all managed systems.
  • Verify certificate validity periods and implement certificate rotation procedures.
  • Configure WinRM to require encryption for all message traffic.
  • Implement TLS 1.2 or higher and disable older, vulnerable protocols.

When configuring HTTPS listeners, you must specify the certificate thumbprint to use for securing connections. Self-signed certificates work for testing but aren’t recommended for production environments. Instead, deploy certificates from an enterprise Certificate Authority or a trusted third-party provider.

Troubleshooting common WinRM issues

Even with careful planning and implementation, WinRM connections sometimes fail due to configuration issues, network problems, or security restrictions. Understanding common problems and their solutions helps you quickly restore Windows remote management capabilities when issues arise.

Connection failure solutions

When WinRM connections fail, systematic troubleshooting helps identify and resolve the underlying causes. Connection failures typically stem from service configuration problems, network connectivity issues, or authentication errors. Start troubleshooting by verifying that the WinRM service is running on both the local and remote computers using Get-Service WinRM in PowerShell.

Network connectivity issues often manifest as timeout errors or “computer not reachable” messages. Test basic network connectivity using ping and then verify specific port availability with Test-NetConnection. If basic connectivity works but WinRM fails, check firewall configurations on both ends and any network devices between systems.

Testing remote accessibility

Verifying WinRM connectivity helps confirm that your configuration works properly and identifies potential issues before they impact production systems. Windows provides several built-in tools for testing WinRM connections and diagnosing problems when they occur.

  • Test-WSMan cmdlet is the simplest way to verify basic WinRM functionality.
  • Running Test-WSMan -ComputerName [targetcomputer] attempts to connect to the specified system and retrieve WinRM service information.
  • A successful response indicates that WinRM is properly configured and accessible.
  • For more detailed testing, use the Enter-PSSession cmdlet to establish an interactive PowerShell session.
  • The command Enter-PSSession -ComputerName [targetcomputer] should result in a remote prompt when configured correctly.

Remote control without the headaches

With NinjaOne’s Windows Remote Management, your techs can troubleshoot in seconds—not sessions.

✅ One-click remote access
✅ Secure, encrypted connections
✅ Seamless integration with TeamViewer, Splashtop, or ScreenConnect

Start your free trial today—and simplify how you manage every Windows endpoint.

You might also like

Ready to simplify the hardest parts of IT?
×

See NinjaOne in action!

By submitting this form, I accept NinjaOne's privacy policy.

NinjaOne Terms & Conditions

By clicking the “I Accept” button below, you indicate your acceptance of the following legal terms as well as our Terms of Use:

  • Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms.
  • Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party.
  • Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library belonging to or under the control of any other software provider.
  • Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations.
  • Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks.
  • Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script.
  • EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).