# Trying to install Feature update to Windows 10, version 1909 with Ansible

**URL:** <https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334>\
**Category:** Ansible Project\
**Tags:** windows\
**Created:** [July 6, 2020, 5:59pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334 "2020-07-06T17:59:39Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 6, 2020, 5:59pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/1 "2020-07-06T17:59:39Z")

</div>

Hello I am trying to install windows 10 feature updates or upgrades. The playbook I am using seems to download it but it will not install it. I still need to go into windows updates and hit retry then it installs. This is the playbook I am currently using:

`

---

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 7, 2020, 3:27pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/2 "2020-07-07T15:27:08Z")

</div>

Can anyone help with this?

---

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 7, 2020, 4:33pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/3 "2020-07-07T16:33:27Z")

</div>

I have also tired these:

---

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 7, 2020, 5:53pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/4 "2020-07-07T17:53:42Z")

</div>

I have ran this playbook again with the -vvv this was the out put:

`  
[vagrant@controller win\_10\_Updates]$ ansible-playbook testFeatureUPdate.yml -vvv  
ansible-playbook 2.9.10  
config file = /etc/ansible/ansible.cfg  
configured module search path = [‘/home/vagrant/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’]  
ansible python module location = /usr/lib/python3.6/site-packages/ansible  
executable location = /usr/bin/ansible-playbook  
python version = 3.6.8 (default, Apr 16 2020, 01:36:27) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]  
Using /etc/ansible/ansible.cfg as config file  
host\_list declined parsing /etc/ansible/hosts as it did not pass its verify\_file() method  
script declined parsing /etc/ansible/hosts as it did not pass its verify\_file() method  
auto declined parsing /etc/ansible/hosts as it did not pass its verify\_file() method  
Parsed /etc/ansible/hosts inventory source with ini plugin

PLAYBOOK: testFeatureUPdate.yml \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
1 plays in testFeatureUPdate.yml

PLAY [win10-pro-1] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK [Gathering Facts] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /home/vagrant/ansible/win\_10\_Updates/testFeatureUPdate.yml:2  
Using module file /usr/lib/python3.6/site-packages/ansible/modules/windows/setup.ps1  
Pipelining is enabled.  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
ok: [win10-pro-1]  
META: ran handlers

TASK [Re-Boot PC before upgrade] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /home/vagrant/ansible/win\_10\_Updates/testFeatureUPdate.yml:5  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: rebooting server…  
EXEC (via pipeline wrapper)  
win\_reboot: validating reboot  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
win\_reboot: attempting post-reboot test command  
EXEC (via pipeline wrapper)  
win\_reboot: system successfully rebooted  
changed: [win10-pro-1] =\> {  
“changed”: true,  
“elapsed”: 23,  
“rebooted”: true  
}

TASK [Upgrade Windows 10] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /home/vagrant/ansible/win\_10\_Updates/testFeatureUPdate.yml:8  
win\_updates: running win\_updates module  
Using module file /usr/lib/python3.6/site-packages/ansible/modules/windows/win\_updates.ps1  
Pipelining is enabled.  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
ok: [win10-pro-1] =\> {  
“changed”: false,  
“failed\_update\_count”: 0,  
“filtered\_updates”: {},  
“found\_update\_count”: 1,  
“installed\_update\_count”: 1,  
“reboot\_required”: true,  
“updates”: {  
“ac2b20ab-6186-4267-8d55-4b3ca35197d1”: {  
“categories”: [  
“Upgrades”  
],  
“id”: “ac2b20ab-6186-4267-8d55-4b3ca35197d1”,  
“installed”: true,  
“kb”: [  
“4560960”  
],  
“title”: “Feature update to Windows 10, version 1909”  
}  
}  
}

TASK [reboot host if required] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /home/vagrant/ansible/win\_10\_Updates/testFeatureUPdate.yml:15  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: rebooting server…  
EXEC (via pipeline wrapper)  
win\_reboot: validating reboot  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
win\_reboot: attempting post-reboot test command  
EXEC (via pipeline wrapper)  
win\_reboot: system successfully rebooted  
changed: [win10-pro-1] =\> {  
“changed”: true,  
“elapsed”: 25,  
“rebooted”: true  
}  
META: ran handlers  
META: ran handlers

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
win10-pro-1 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

`

But when I go into the windows box and look at updates this is what I get:

 ![Pending install.png](https://us1.discourse-cdn.com/ansible/original/2X/5/5eb2683ba919cf0c583e89900491b398b72d629e.png)

 ![Restart now.png](https://us1.discourse-cdn.com/ansible/original/2X/0/0bd8c4178ac4113ef32a53ee6056da017465a435.png)

I used Ansible to restart the PC but is does not install it. This is what I used to restart it. If I actually press the restart now button or go into the start menu and choose update and restart it installs.

`

---

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 7, 2020, 5:56pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/5 "2020-07-07T17:56:53Z")

</div>

Sorry here is the rest of the output from the play with -vvv it got cut off for some reason:

`  
TASK [Upgrade Windows 10] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /home/vagrant/ansible/win\_10\_Updates/testFeatureUPdate.yml:8  
win\_updates: running win\_updates module  
Using module file /usr/lib/python3.6/site-packages/ansible/modules/windows/win\_updates.ps1  
Pipelining is enabled.  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
ok: [win10-pro-1] =\> {  
“changed”: false,  
“failed\_update\_count”: 0,  
“filtered\_updates”: {},  
“found\_update\_count”: 1,  
“installed\_update\_count”: 1,  
“reboot\_required”: true,  
“updates”: {  
“ac2b20ab-6186-4267-8d55-4b3ca35197d1”: {  
“categories”: [  
“Upgrades”  
],  
“id”: “ac2b20ab-6186-4267-8d55-4b3ca35197d1”,  
“installed”: true,  
“kb”: [  
“4560960”  
],  
“title”: “Feature update to Windows 10, version 1909”  
}  
}  
}

TASK [reboot host if required] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /home/vagrant/ansible/win\_10\_Updates/testFeatureUPdate.yml:15  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: rebooting server…  
EXEC (via pipeline wrapper)  
win\_reboot: validating reboot  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
win\_reboot: attempting to get system boot time  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
EXEC (via pipeline wrapper)  
 ESTABLISH WINRM CONNECTION FOR USER: vagrant on PORT 5986 TO win10-pro-1  
win\_reboot: attempting post-reboot test command  
EXEC (via pipeline wrapper)  
win\_reboot: system successfully rebooted  
changed: [win10-pro-1] =\> {  
“changed”: true,  
“elapsed”: 25,  
“rebooted”: true  
}  
META: ran handlers  
META: ran handlers

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
win10-pro-1 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

`

---

<div class="post-metadata">

**Author:** ![CORLEONE](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@CORLEONE](https://forum.ansible.com/u/CORLEONE)\
**Post date:** [July 8, 2020, 6:35am UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/6 "2020-07-08T06:35:59Z")

</div>

Hi Alan,

Can you please check if the ansible account you are using for winrm has all root permissions i.e Administrator

This is weird. I have achieved the same result back 6 months and it went smooth for me.

Regards,  
Manash

---

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 8, 2020, 3:07pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/7 "2020-07-08T15:07:19Z")

</div>

Hi Corleone, the account that I am using is in the Administrators group on the windows 10 boxes. Right now, I am using a Dev environment using Vagrant. I have 4 windows 10 boxes that are all from Vagrant Cloud and a centos box for the ansible controller that is also from Vagrant Cloud. So, by default the Vagrant user is always an admin on the boxes.

I did also try to install Google Chrome with Ansible on these boxes with this playbook and it does work just to test it. Google Chrome does get installed:

`

---

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 8, 2020, 8:24pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/8 "2020-07-08T20:24:17Z")

</div>

Would you mind sharing you playbook for the upgrade install?

---

<div class="post-metadata">

**Author:** ![CORLEONE](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@CORLEONE](https://forum.ansible.com/u/CORLEONE)\
**Post date:** [July 17, 2020, 9:25am UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/9 "2020-07-17T09:25:54Z")

</div>

Have you used the win feature module before?

Regards,  
Manash

---

<div class="post-metadata">

**Author:** ![Alan\_Woods](https://avatars.discourse-cdn.com/v4/letter/a/f19dbf/32.png) [@Alan\_Woods](https://forum.ansible.com/u/Alan_Woods)\
**Post date:** [July 17, 2020, 2:23pm UTC](https://forum.ansible.com/t/trying-to-install-feature-update-to-windows-10-version-1909-with-ansible/33334/10 "2020-07-17T14:23:04Z")

</div>

I have. I have used it for installing IIS and a few other features.
