I’d like to remove all the “Slack Machine-Wide Installer” packages. My approach is listed below. I’m wondering if there’s an easier way to do this?
My approach.
Trying to use Ansible to uninstall packages; with a twist.
Control Panel shows this
Multiple versions of the Slack Machine-Wide Installer. Looking in the registry I find this key (as well as the other guids for the Slack Machine-Wide Installer):
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall{81805212-8267-41AE-8F1E-979055EC5DF2}
I’d like to walk the Uninstall registry key, searching the DisplayName for “Slack Machine-Wide Installer” and remove that package.
I can get the Uninstall registry using this task.
- name: get uninstall registry key
win_reg_stat:
path: HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
register: uninstall_registry
The uninstall_registry.sub_keys contains the list I would like to query for the DisplayName, the below task lets me get the DisplayName of each key
- name: get properties of uninstall registry key
win_reg_stat:
path: HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall{{ item }}
name: DisplayName
register: display_name
with_items: - “{{ uninstall_registry.sub_keys }}”
After this I kind of stuck. How do I get just the DisplayName?
- debug:
msg: “{{ item }}”
with_items: - “{{ display_name.results }}”
Displays a lot more information then I need. How do I get just the DisplayName?