164 lines
4.6 KiB
YAML
164 lines
4.6 KiB
YAML
---
|
|
|
|
- name: ensure temp directory exists
|
|
win_file:
|
|
path: '{{ temp_directory }}'
|
|
state: directory
|
|
|
|
- name: download bleachbit
|
|
win_get_url:
|
|
url: '{{ bleachbit_download_url }}'
|
|
dest: '{{ temp_directory }}\BleachBit-portable.zip'
|
|
register: download_bleachbit
|
|
until: download_bleachbit is success
|
|
delay: 3
|
|
retries: 5
|
|
when: bleachbit_download_url is defined
|
|
|
|
- name: unzip bleachbit
|
|
win_unzip:
|
|
src: '{{ temp_directory }}\BleachBit-portable.zip'
|
|
dest: '{{ ansible_user_dir }}'
|
|
when: download_bleachbit is success
|
|
|
|
# This is needed on 2008 for bleachbit to work
|
|
- name: install the visual C libraries
|
|
win_package:
|
|
path: https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe
|
|
product_id: '{9BE518E6-ECC6-35A9-88E4-87755C07200F}'
|
|
arguments: '/qb!'
|
|
register: install_visual_c
|
|
until: install_visual_c is success
|
|
delay: 10
|
|
retries: 60
|
|
when: "'Windows Server 2008' in ansible_distribution"
|
|
|
|
- name: delete update directory
|
|
win_file:
|
|
path: C:\Windows\SoftwareDistribution\Download
|
|
state: absent
|
|
ignore_errors: true
|
|
|
|
- name: remove windows update settings
|
|
win_regedit:
|
|
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate
|
|
name: "{{ item }}"
|
|
state: absent
|
|
loop:
|
|
- SusClientId
|
|
- PingID
|
|
- AccountDomainSid
|
|
|
|
- name: create update directory
|
|
win_file:
|
|
path: C:\Windows\SoftwareDistribution\Download
|
|
state: directory
|
|
ignore_errors: true
|
|
|
|
- name: reset windows update
|
|
win_shell: wuauclt /resetauthorization /detectnow
|
|
ignore_errors: true
|
|
|
|
- name: clean with bleachbit
|
|
win_shell: >
|
|
'{{ ansible_user_dir }}\BleachBit-Portable\bleachbit_console.exe'
|
|
--clean deepscan.backup
|
|
deepscan.ds_store deepscan.thumbs_db deepscan.tmp internet_explorer.cookies internet_explorer.forms
|
|
internet_explorer.history internet_explorer.temporary_files system.clipboard system.custom system.logs
|
|
system.memory_dump system.muicache system.prefetch system.recycle_bin system.tmp system.updates
|
|
windows_defender.history windows_explorer.mru windows_explorer.recent_documents windows_explorer.run
|
|
windows_explorer.search_history windows_explorer.thumbnails 2> nul
|
|
args:
|
|
executable: cmd
|
|
when:
|
|
- bleachbit_clean|bool
|
|
- download_bleachbit is success
|
|
ignore_errors: true
|
|
|
|
- name: create temp directory
|
|
win_file:
|
|
path: '{{ temp_directory }}\win_build'
|
|
state: directory
|
|
|
|
- name: download ultradefrag
|
|
win_get_url:
|
|
url: '{{ ultradefrag_download_url }}'
|
|
dest: '{{ temp_directory }}\win_build\ultradefrag.zip'
|
|
follow_redirects: all
|
|
register: download_ultradefrag
|
|
until: download_ultradefrag is success
|
|
delay: 3
|
|
retries: 5
|
|
ignore_errors: true
|
|
|
|
- block:
|
|
- name: unzip ultradefrag
|
|
win_unzip:
|
|
src: '{{ temp_directory }}\win_build\ultradefrag.zip'
|
|
dest: '{{ temp_directory }}\win_build'
|
|
|
|
- name: set udefrag extract directory
|
|
set_fact:
|
|
udefrag_dir: '{{ temp_directory }}\win_build\ultradefrag-portable-7.1.4.amd64'
|
|
|
|
- name: defrag with ultradefrag
|
|
win_shell: '{{ udefrag_dir }}\udefrag.exe --optimize --repeat C:'
|
|
args:
|
|
executable: cmd
|
|
when: download_ultradefrag is success
|
|
|
|
- name: download sdelete
|
|
win_get_url:
|
|
url: '{{ sdelete_download_url }}'
|
|
dest: '{{ temp_directory }}\win_build\SDelete.zip'
|
|
register: download_sdelete
|
|
until: download_sdelete is success
|
|
delay: 3
|
|
retries: 5
|
|
when: sdelete_download_url is defined
|
|
|
|
- name: copy sdelete
|
|
win_copy:
|
|
src: SDelete.zip
|
|
dest: '{{ temp_directory }}\win_build\SDelete.zip'
|
|
when: sdelete_download_url is undefined
|
|
|
|
- name: unzip sdelete
|
|
win_unzip:
|
|
src: '{{ temp_directory }}\win_build\SDelete.zip'
|
|
dest: '{{ temp_directory }}\win_build'
|
|
|
|
- name: accept sdelete eula
|
|
win_regedit:
|
|
path: HKCU:\Software\Sysinternals\SDelete
|
|
name: EulaAccepted
|
|
data: 1
|
|
type: dword
|
|
|
|
- name: compact with sdelete
|
|
win_shell: '{{ temp_directory }}\win_build\sdelete.exe -q -z C:'
|
|
args:
|
|
executable: cmd
|
|
|
|
- name: remove temp files
|
|
win_file:
|
|
path: '{{ temp_directory }}\win_build'
|
|
state: absent
|
|
|
|
- name: free disk space with bleachbit
|
|
win_shell: '{{ ansible_user_dir }}\BleachBit-Portable\bleachbit_console.exe --clean system.free_disk_space'
|
|
args:
|
|
executable: cmd
|
|
when:
|
|
- bleachbit_free_disk_space|bool
|
|
- download_bleachbit is success
|
|
ignore_errors: true
|
|
|
|
- name: remove bleachbit files
|
|
win_file:
|
|
path: '{{ item }}'
|
|
state: absent
|
|
when: download_bleachbit is success
|
|
loop:
|
|
- '{{ temp_directory }}\BleachBit-portable.zip'
|
|
- '{{ ansible_user_dir }}\BleachBit-Portable' |