# When condition is failing in windows ansible

**URL:** <https://forum.ansible.com/t/when-condition-is-failing-in-windows-ansible/32499>\
**Category:** Ansible Project\
**Tags:** windows, vmware\
**Created:** [March 19, 2020, 8:22am UTC](https://forum.ansible.com/t/when-condition-is-failing-in-windows-ansible/32499 "2020-03-19T08:22:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Uppara\_venkat](https://avatars.discourse-cdn.com/v4/letter/u/6a8cbe/32.png) [@Uppara\_venkat](https://forum.ansible.com/u/Uppara_venkat)\
**Post date:** [March 19, 2020, 8:22am UTC](https://forum.ansible.com/t/when-condition-is-failing-in-windows-ansible/32499/1 "2020-03-19T08:22:01Z")

</div>

Hi all,

I have written below task to copy a file if it is 64-bit windows OS.

- name:  
win\_shell: ‘wmic os get osarchitecture | findstr “bit”’  
register: result

- debug: var=result.stdout\_lines

- name:  
win\_copy:  
src=‘{{package\_PATH}}/vim25.zip’  
dest=‘{{ vim25\_PATH }}/vmware/’  
remote\_src=yes  
when: result.stdout\_lines == ‘64-bit’

while executing task it’s skipping even condition is true.

out put as below:

skipping: [172.31.27.224] =\> {  
“changed”: false,  
“skip\_reason”: “Conditional result was False”  
}

Can any one help me to fix this issue?

---

<div class="post-metadata">

**Author:** ![racke](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/racke/32/4767_2.png) [@racke](https://forum.ansible.com/u/racke)\
**Post date:** [March 19, 2020, 8:31am UTC](https://forum.ansible.com/t/when-condition-is-failing-in-windows-ansible/32499/2 "2020-03-19T08:31:18Z")

</div>

> Hi all,
> 
> I have written below task to copy a file if it is 64-bit windows OS.
> 
> - name:  
> win\_shell: 'wmic os get osarchitecture | findstr "bit"'  
> register: result  
> - debug: var=result.stdout\_lines
> 
> - name:  
> win\_copy:  
> src='{{package\_PATH}}/vim25.zip'  
> dest='{{ vim25\_PATH }}/vmware/'  
> remote\_src=yes  
> when: result.stdout\_lines == '64-bit'
> 
> while executing task it's skipping even condition is true.
> 
> out put as below:
> 
> skipping: [172.31.27.224] =\> {  
> "changed": false,  
> "skip\_reason": "Conditional result was False"  
> }
> 
> Can any one help me to fix this issue?

1. use Ansible facts to determine OS details (ansible\_architecture)  
2. stdout\_lines is a list so a string match is futile, try stdout or stdout\_lines[0]

Regards  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Racke
