Windows
View all Worklets
WindowsWindows

Uninstall Slack

Remove Slack from every Windows user profile, including AppData install, shortcuts, and uninstall registry entries

Worklet Details

What the Slack removal Worklet does

This Automox Worklet™ uninstalls Slack from every user profile on a Windows endpoint and clears the artifacts that a normal uninstall leaves behind. Slack on Windows installs as a per-user application under %LOCALAPPDATA%\slack, which means each user account on a shared workstation gets its own copy. The Worklet enumerates every local profile, detects the per-user install, and removes it from each one in a single policy run.

The script goes beyond the bundled uninstaller. It deletes the Slack Technologies Inc Start Menu folder, removes shortcut files from both the local Desktop and the OneDrive-redirected Desktop, loads the user's NTUSER.DAT registry hive to delete the HKEY_USERS\[SID]\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\slack entry, and finally removes the %LOCALAPPDATA%\slack folder itself. The result is a profile that no longer reports Slack in Programs and Features, no longer surfaces Slack in Start Menu search, and no longer holds the cached install that lets Slack reappear on next launch.

Note that this Worklet targets the consumer Squirrel installer Slack ships to most endpoints. If your fleet runs the machine-wide MSI build from Slack's enterprise download page, the same uninstall logic applies through msiexec /x with the product code, which the script falls back to when a per-machine entry is detected. The Worklet logs which path it took in the Automox activity output so you can confirm coverage after a deployment mix changes.

Why remove Slack from managed Windows endpoints

Slack removal is rarely a single-user decision. The driver is usually a platform migration to Microsoft Teams or Google Chat, a contract change, a regulated-data policy that bans consumer chat clients, or a security finding against an out-of-support Slack version on a long-tail endpoint. In each case the operations team needs to prove Slack is gone from every profile on every endpoint, not just from the active user's session. Per-user AppData installs make that hard: an end user can uninstall Slack from their profile while a stale install lingers under another profile on the same machine. Software inventory tools then still report the endpoint as non-compliant.

Scheduling this Worklet against the Windows group walks every local user profile on every endpoint at evaluation time, runs %LOCALAPPDATA%\slack\Update.exe --uninstall -s against the Squirrel install, falls back to msiexec /x for machine-wide MSI builds, and removes the residual %LOCALAPPDATA%\slack directory. Sweeping every profile in one policy run resolves the per-user installer problem head-on, so the next inventory scan reports the change rather than the backlog of stale profiles a manual uninstall missed.

How Slack profile-wide removal works

  1. Evaluation phase: The Worklet reads the Win32_UserProfile WMI class, filters to local profiles under C:\Users, and excludes default, public, and service accounts. For each remaining profile it checks for the Slack launcher at %LOCALAPPDATA%\slack\Update.exe and inspects HKEY_USERS\[SID]\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\slack for the per-user registration. It also checks HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall for a machine-wide Slack MSI product code. If any profile or machine-wide install is found, the endpoint is reported non-compliant and remediation runs.

  2. Remediation phase: For every profile flagged in evaluation, the script invokes the Squirrel uninstaller as Update.exe --uninstall -s, waits for exit, then removes the Slack Technologies Inc Start Menu folder, the Slack.lnk shortcut on both the local Desktop and the OneDrive Desktop, the HKEY_USERS\[SID]\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\slack registry key (loading the NTUSER.DAT hive with reg load when the user is not signed in), and finally the %LOCALAPPDATA%\slack directory itself. When the evaluation phase flagged a machine-wide MSI install, the script runs msiexec /x <ProductCode> /qn /norestart against the discovered product code instead. The Worklet exits 0 only when every flagged profile and machine-wide entry is cleared; any failure surfaces in stderr with the profile or product code that did not complete.

Slack removal requirements

  • Windows 10, Windows 11, or Windows Server 2016 and later with PowerShell 5.1 or higher available

  • Local administrator context for the Automox agent (the default agent context already meets this; required to load other users' NTUSER.DAT hives and delete files under other profiles)

  • PowerShell execution policy that permits the Automox agent to invoke scripts (Bypass at the agent level is sufficient)

  • Slack does not need to be closed before the run; the Squirrel uninstaller terminates Slack.exe automatically, and msiexec /x handles the machine-wide path the same way

  • If Slack is delivered as part of a software bundle or auto-installer (Chocolatey, Winget, an MDM-pushed MSI), pair this Worklet with a removal of the source package so Slack does not reappear on the next inventory sync

Expected endpoint state after Slack removal

After a successful policy run, no user profile on the endpoint reports Slack in Settings, Apps, Installed Apps, and Programs and Features shows no Slack entry under either the per-user or machine-wide context. The %LOCALAPPDATA%\slack directory is absent for every flagged profile, the Slack.lnk shortcut is gone from both Desktop locations, the Slack Technologies Inc folder is removed from the Start Menu, and the per-user Uninstall registry key under HKEY_USERS\[SID]\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\slack no longer exists. A re-run of the evaluation phase on the next policy interval reports the endpoint as compliant and exits without scheduling remediation.

Validate by running Get-ChildItem 'C:\Users\*\AppData\Local\slack' and confirming an empty result, then querying Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*' | Where-Object DisplayName -like 'Slack*' and confirming no rows return. For machine-wide MSI removals, msiexec exit code 0 (or 1605 if the product was already absent) indicates success; non-zero codes surface in the Automox activity log with the product code that failed. Capture both checks alongside the policy run identifier when the removal is part of a compliance or migration audit, and rerun the Worklet on any endpoint whose evaluation flips back to non-compliant after a user reinstalls Slack outside the change window.

View in app
evalutation image
remediation image

Consider Worklets your easy button

What's a Worklet?

A Worklet is an automation script, written in Bash or PowerShell, designed for seamless execution on endpoints – at scale – within the Automox platform. Worklets deploy named-CVE mitigations within hours of disclosure, perform configuration, remediation, and install or remove applications and settings across Windows, macOS, and Linux.

do more with worklets