70 lines
1.7 KiB
YAML
70 lines
1.7 KiB
YAML
---
|
|
|
|
- name: download script
|
|
raw: '(New-Object -TypeName System.Net.WebClient).DownloadFile("{{ powershell_script_url }}", "{{ powershell_upgrade_script_file }}")'
|
|
changed_when: False
|
|
check_mode: no
|
|
register: download_script
|
|
|
|
- name: set execution policy
|
|
raw: 'Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force'
|
|
changed_when: False
|
|
check_mode: no
|
|
ignore_errors: yes
|
|
|
|
- name: delete scheduled task if it exists
|
|
raw: 'SCHTASKS /Delete /TN upgrade'
|
|
args:
|
|
executable: cmd.exe
|
|
changed_when: False
|
|
check_mode: no
|
|
ignore_errors: yes
|
|
|
|
- name: create a scheduled task to run powershell script
|
|
raw: >
|
|
SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN upgrade /TR "powershell.exe -Command
|
|
'& {{ powershell_upgrade_script_file }} -Version {{ powershell_target_version }}
|
|
-Username {{ ansible_user }} -Password {{ ansible_password }}'"
|
|
args:
|
|
executable: cmd.exe
|
|
changed_when: False
|
|
check_mode: no
|
|
|
|
- name: run scheduled task
|
|
raw: 'SCHTASKS /Run /TN upgrade'
|
|
args:
|
|
executable: cmd.exe
|
|
changed_when: False
|
|
check_mode: no
|
|
|
|
- name: wait for system to reboot after upgrade
|
|
wait_for_connection:
|
|
delay: 300
|
|
sleep: 30
|
|
timeout: 300
|
|
|
|
- name: delete scheduled task
|
|
win_scheduled_task:
|
|
name: upgrade
|
|
state: absent
|
|
|
|
- name: delete script
|
|
win_file:
|
|
path: "{{ powershell_upgrade_script_file }}"
|
|
state: absent
|
|
|
|
- name: ensure auto login is disabled
|
|
win_regedit:
|
|
path: HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
|
|
name: AutoAdminLogon
|
|
data: 0
|
|
type: string
|
|
|
|
- name: ensure auto login creds are removed
|
|
win_regedit:
|
|
path: HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
|
|
name: "{{ item }}"
|
|
state: absent
|
|
loop:
|
|
- DefaultUserName
|
|
- DefaultPassword |