ansible / ansible.windows / 2.3.0 / module / win_reboot Reboot a windows machine Authors: Matt Davis (@nitzmahone) This plugin has a corresponding action plugin.ansible.windows.win_reboot (2.3.0) — module
Install with ansible-galaxy collection install ansible.windows:==2.3.0
collections: - name: ansible.windows version: 2.3.0
Unconditionally reboot a Windows machine, wait for it to go down, come back up, and respond to commands.
For non-Windows targets, use the M(ansible.builtin.reboot) module instead.
- 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"'
msg: default: Reboot initiated by Ansible description: - Message to display to users. type: str test_command: description: - Command to expect success for to determine the machine is ready for management. - By default this test command is a custom one to detect when the Windows Logon screen is up and ready to accept credentials. Using a custom command will replace this behaviour and just run the command specified. type: str reboot_timeout: aliases: - reboot_timeout_sec default: 600 description: - 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. type: float connect_timeout: aliases: - connect_timeout_sec default: 5 description: - Maximum seconds to wait for a single successful TCP connection to the WinRM endpoint before trying again. type: float pre_reboot_delay: aliases: - pre_reboot_delay_sec default: 2 description: - Seconds to wait before reboot. Passed as a parameter to the reboot command. - The minimum version is C(2) seconds and cannot be set lower. type: float boot_time_command: default: (Get-CimInstance -ClassName Win32_OperatingSystem -Property LastBootUpTime).LastBootUpTime.ToFileTime() description: - 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. type: str post_reboot_delay: aliases: - post_reboot_delay_sec default: 0 description: - 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. type: float
elapsed: description: The number of seconds that elapsed waiting for the system to be rebooted. returned: always sample: 23.2 type: float rebooted: description: True if the machine was rebooted. returned: always sample: true type: bool