# when tools status "guestToolsNotRunning" , power off the vm.

**URL:** <https://forum.ansible.com/t/when-tools-status-guesttoolsnotrunning-power-off-the-vm/32641>\
**Category:** Ansible Project\
**Created:** [April 9, 2020, 7:22am UTC](https://forum.ansible.com/t/when-tools-status-guesttoolsnotrunning-power-off-the-vm/32641 "2020-04-09T07:22:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kiran\_Kumar](https://avatars.discourse-cdn.com/v4/letter/k/f475e1/32.png) [@Kiran\_Kumar](https://forum.ansible.com/u/Kiran_Kumar)\
**Post date:** [April 9, 2020, 7:22am UTC](https://forum.ansible.com/t/when-tools-status-guesttoolsnotrunning-power-off-the-vm/32641/1 "2020-04-09T07:22:59Z")

</div>

Please suggest how can i add when clause in above, ie when tools status “guestToolsNotRunning” , power off the vm.

---

<div class="post-metadata">

**Author:** ![Akasurde](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akasurde/32/230_2.png) [@Akasurde](https://forum.ansible.com/u/Akasurde)\
**Post date:** [April 9, 2020, 8:26am UTC](https://forum.ansible.com/t/when-tools-status-guesttoolsnotrunning-power-off-the-vm/32641/2 "2020-04-09T08:26:41Z")

</div>

Hi Kiran,

Do you want to run this operation on specific VMs or all the VMs which are “guestToolsNotRunning” status?

---

<div class="post-metadata">

**Author:** ![Akasurde](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akasurde/32/230_2.png) [@Akasurde](https://forum.ansible.com/u/Akasurde)\
**Post date:** [April 9, 2020, 10:59am UTC](https://forum.ansible.com/t/when-tools-status-guesttoolsnotrunning-power-off-the-vm/32641/3 "2020-04-09T10:59:36Z")

</div>

Hi Kiran,

I did something like this -

---

<div class="post-metadata">

**Author:** ![Kiran\_Kumar](https://avatars.discourse-cdn.com/v4/letter/k/f475e1/32.png) [@Kiran\_Kumar](https://forum.ansible.com/u/Kiran_Kumar)\
**Post date:** [April 9, 2020, 5:03pm UTC](https://forum.ansible.com/t/when-tools-status-guesttoolsnotrunning-power-off-the-vm/32641/4 "2020-04-09T17:03:58Z")

</div>

Hi Abhijit

Thanks for your reply, Only Specific VMs where the status is guestToolsNotRunning

Best  
Kiran

---

<div class="post-metadata">

**Author:** ![Kiran\_Kumar](https://avatars.discourse-cdn.com/v4/letter/k/f475e1/32.png) [@Kiran\_Kumar](https://forum.ansible.com/u/Kiran_Kumar)\
**Post date:** [April 9, 2020, 5:06pm UTC](https://forum.ansible.com/t/when-tools-status-guesttoolsnotrunning-power-off-the-vm/32641/5 "2020-04-09T17:06:24Z")

</div>

Hi Abhijit

Thanks for your reply. I did as per you note, How can i check the output & also then how can i use that in action block ie shutdown action.

> * * *
> 
> - hosts: localhost  
> gather\_facts: false  
> connection: local  
> collections:
> 
> - community.vmware
> 
> - community.general  
> vars\_files:
> 
> - ./vars/vmware\_vars.yml  
> vars:  
> vm\_list:
> 
> - vm1
> 
> - vm2  
> tasks:
> 
> - name: Gather VM info  
> vmware\_guest\_info:  
> hostname: “{{ vcenter\_server }}”  
> username: “{{ vcenter\_user }}”  
> password: “{{ vcenter\_pass }}”  
> datacenter: “{{ vcenter\_datacenter }}”  
> validate\_certs: no  
> name: “{{ item }}”  
> register: vm\_info  
> with\_items: “{{ vm\_list }}”
> 
> - name: Tools status  
> debug:  
> msg: “{{ vm\_info.results | json\_query(jmesquery) }}”  
> vars:  
> jmesquery: “[?instance.hw\_name == ‘{{ item }}’].instance.guest\_tools\_status”  
> with\_items: “{{ vm\_list }}”
> 
> - name: Tools status  
> set\_fact:  
> desired\_vms: “{{ vm\_info.results | community.general.json\_query(jmesquery) }}”  
> vars:  
> jmesquery: “[?instance.guest\_tools\_status == ‘guestToolsNotRunning’].instance.hw\_name”

Best,  
Kiran
