Preparing Ansible host

sudo yum install python-pip
sudo pip install "pywinrm>=0.1.1"

Preparing Windows Host

  • Create a file and paste the below github content and save “PowerShell Scripts (* .ps1)”.

  • Double Click the file or open powershell and Execute it from the file path. winrm will be configured

Setting up inventory and inventory vars

  • Add windows host to inventory by editing myhosts.ini

Create group vars for windows group - Create group_vars/windows.yml

    ansible_ssh_user: <admin user>
    ansible_ssh_pass: <admin user password>
    ansible_ssh_port: 5986
    ansible_connection: winrm
    ansible_winrm_server_cert_validation: ignore

Validate Connectivity

ansible windows -i host -m win_ping
ansible windows -i host -m setup

Create a Sample Playbook : windows.yml

- name: test raw module
  hosts: windows
    - name: run ipconfig
      raw: ipconfig
      register: ipconfig

    - debug: var=ipconfig

    - name: test stat module on file
      win_stat: path="C:/Windows/win.ini"
      register: stat_file

    - debug: var=stat_file

    - name: check stat_file result
             - "stat_file.stat.exists"
             - "not stat_file.stat.isdir"
             - "stat_file.stat.size > 0"
             - "stat_file.stat.md5"

    - name: Install IIS
        name: "Web-Server"
        state: absent
        restart: yes
        include_sub_features: yes
        include_management_tools: yes

Execute Playbook as

ansible-playbook windows.yml