Note
This plugin is part of the ansible.windows collection (version 1.3.0).
To install it use: ansible-galaxy collection install ansible.windows
.
To use it in a playbook, specify: ansible.windows.win_reboot
.
Note
This module has a corresponding action plugin.
Parameter | Choices/Defaults | Comments |
---|---|---|
boot_time_command string | Default: "(Get-WmiObject -ClassName Win32_OperatingSystem).LastBootUpTime" | Command to run that returns a unique string indicating the last time the system was booted. Setting this to a command that has different output each time it is run will cause the task to fail. |
connect_timeout integer | Default: 5 | Maximum seconds to wait for a single successful TCP connection to the WinRM endpoint before trying again. aliases: connect_timeout_sec |
msg string | Default: "Reboot initiated by Ansible" | Message to display to users. |
post_reboot_delay integer | Default: 0 | Seconds to wait after the reboot command was successful before attempting to validate the system rebooted successfully. This is useful if you want wait for something to settle despite your connection already working. aliases: post_reboot_delay_sec |
pre_reboot_delay integer | Default: 2 | Seconds to wait before reboot. Passed as a parameter to the reboot command. aliases: pre_reboot_delay_sec |
reboot_timeout integer | Default: 600 | Maximum seconds to wait for machine to re-appear on the network and respond to a test command. This timeout is evaluated separately for both reboot verification and test command success so maximum clock time is actually twice this value. aliases: reboot_timeout_sec |
test_command string | Default: "whoami" | Command to expect success for to determine the machine is ready for management. |
Note
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
The official documentation on the ansible.builtin.reboot module.
- name: Reboot the machine with all defaults ansible.windows.win_reboot: - name: Reboot a slow machine that might have lots of updates to apply ansible.windows.win_reboot: reboot_timeout: 3600 # Install a Windows feature and reboot if necessary - name: Install IIS Web-Server ansible.windows.win_feature: name: Web-Server register: iis_install - name: Reboot when Web-Server feature requires it ansible.windows.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 ansible.windows.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 ansible.windows.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 ansible.windows.win_reboot: test_command: 'exit (Get-Service -Name Netlogon).Status -ne "Running"'
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
elapsed float | always | The number of seconds that elapsed waiting for the system to be rebooted. Sample: 23.2 |
rebooted boolean | always | True if the machine was rebooted. Sample: True |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/windows/win_reboot_module.html