Enabling WinRM on a Windows Machine for Ansible Automation


Ansible is a powerful automation tool that allows you to manage and configure systems in a simple and efficient way. In order to automate tasks on Windows machines using Ansible, you need to enable WinRM (Windows Remote Management) on the target machines.

What is WinRM?

WinRM is a Microsoft technology that allows remote management of Windows machines. It provides a secure way to connect to and manage remote systems, using a combination of industry-standard protocols such as HTTP and SOAP.

Enabling WinRM

Before you can use Ansible to automate tasks on Windows machines, you need to enable WinRM on the target machines. Here are the steps to enable WinRM:

  1. Open a PowerShell session as an administrator on the target Windows machine.
  2. Run the following command to enable WinRM:

This command will configure WinRM to allow incoming connections and set up the necessary firewall rules.

After running the command, you should see a message indicating that WinRM has been successfully configured.

Configuring WinRM for Ansible

Once WinRM is enabled on the target Windows machine, you need to configure Ansible to use WinRM as the connection method. Here are the steps to configure WinRM for Ansible:

  1. Open the Ansible configuration file, usually located at /etc/ansible/ansible.cfg.
  2. Uncomment the ansible_connection line and set its value to winrm.
  3. Uncomment the ansible_winrm_server_cert_validation line and set its value to ignore. This is necessary if you are using self-signed certificates on the target Windows machines.

Save the changes to the Ansible configuration file.

Testing the WinRM Connection

After enabling and configuring WinRM, you can test the connection from Ansible to the target Windows machine. Here is a simple Ansible playbook that tests the WinRM connection:

Save the playbook to a file, for example winrm_test.yml, and run the following command to execute the playbook:

If the WinRM connection is successful, you should see a message indicating that the Windows machine was successfully pinged by Ansible.


Enabling WinRM on Windows machines is a crucial step in setting up Ansible automation for Windows systems. By following the steps outlined in this guide, you can successfully enable and configure WinRM for Ansible, allowing you to automate tasks on Windows machines with ease.

Remember to always test the WinRM connection before running any Ansible playbooks to ensure a successful automation process.

Leave a Reply

Your email address will not be published. Required fields are marked *