win_reboot – Reboot a windows machine¶
Synopsis¶
Reboot a Windows machine, wait for it to go down, come back up, and respond to commands.
For non-Windows targets, use the reboot module instead.
Parameters¶
Notes¶
Note
If a shutdown was already scheduled on the system,
win_reboot
will abort the scheduled shutdown and enforce its own shutdown.Beware that when
win_reboot
returns, the Windows system may not have settled yet and some base services could be in limbo. This can result in unexpected behavior. Check the examples for ways to mitigate this.The connection user must have the
SeRemoteShutdownPrivilege
privilege enabled, see https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/force-shutdown-from-a-remote-system for more information.
See Also¶
See also
- reboot – Reboot a machine
The official documentation on the reboot module.
Examples¶
- name: Reboot the machine with all defaults
win_reboot:
- name: Reboot a slow machine that might have lots of updates to apply
win_reboot:
reboot_timeout: 3600
# Install a Windows feature and reboot if necessary
- name: Install IIS Web-Server
win_feature:
name: Web-Server
register: iis_install
- name: Reboot when Web-Server feature requires it
win_reboot:
when: iis_install.reboot_required
# One way to ensure the system is reliable, is to set WinRM to a delayed startup
- name: Ensure WinRM starts when the system has settled and is ready to work reliably
win_service:
name: WinRM
start_mode: delayed
# Additionally, you can add a delay before running the next task
- name: Reboot a machine that takes time to settle after being booted
win_reboot:
post_reboot_delay: 120
# Or you can make win_reboot validate exactly what you need to work before running the next task
- name: Validate that the netlogon service has started, before running the next task
win_reboot:
test_command: 'exit (Get-Service -Name Netlogon).Status -ne "Running"'
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Status¶
This module is guaranteed to have backward compatible interface changes going forward. [stableinterface]
This module is maintained by the Ansible Core Team. [core]
Red Hat Support¶
More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.
Authors¶
Matt Davis (@nitzmahone)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.