Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to uninstall dell support assist with powershell?

Tags:

powershell

So there was an article that came out about support assist being vulnerable, bla bla.

Upper management has deemed support assist to be unsafe and has ordered it removed from every machine.....

no I cannot/will not try to convince them otherwise, this is going to happen one way or another

Trying to get this done has been a nightmare for the past 8 hours while I try unsuccessful script after the next only to have this damned program NOT DIE

Here is what I have so far

MsiExec.exe /X "{0309AC01-330F-494C-B27D-58E297E4674F}" /quiet
MsiExec.exe /X "{F1D17890-F41B-4BFA-8893-B2C8A248BE0D}" /quiet

$CurrentSAPkg = Get-WMIObject -Class Win32_Product  | Where-Object { $_.Name -like "Dell*" }
$CurrentSAPkg.Uninstall()

& "C:\Program Files\Dell\SupportAssist\uninstaller.exe" /arp /S

The get-WMIObject part works, and the uninstaller.exe /arp /S works

however those only work for the older versions, newer versions require something more like the top two commands, but there is a problem

the /quiet flag makes it not work. if I omit the quiet flag I get a popup, "Are you sure" yes, it uninstalls, with the quiet flag, nothing happens, the program stays

I use the folowing to get the uninstall paths

$regQuery32 = Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | Where {$_.GetValue("DisplayName") -match "Dell*"}

I really hate support assist now and I want it to die and I am at my wits end.

like image 396
Gummby8 Avatar asked Sep 01 '25 10:09

Gummby8


1 Answers

So I am having the exact opposite issue. I was able to get the newer versions to remove, but anything that returned "C:\Program Files\Dell\SupportAssist\uninstaller.exe /arp" as the UninstallString is failing in my automation as I can't get the prompt to not display (I have around 700 agents to remove this crap from, some with multiple versions, so I feel your pain).

For the newer versions, I used:

$SAVer = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall  |
    Get-ItemProperty |
        Where-Object {$_.DisplayName -match "SupportAssist" } |
        Where-Object {$_.DisplayVersion -notlike "3.2*"} | 
            Select-Object -Property DisplayVersion, UninstallString, PSChildName

ForEach ($ver in $SAVer) {

    If ($ver.UninstallString) {

        $uninst = $ver.UninstallString
        & cmd /c $uninst /quiet /norestart

    }
}

I am going to look into the method you are showing for the older version (2.0 and earlier) to see if this resolves my issue. Hopefully my code snippet will help with yours. Cheers.

like image 130
Kay Ana Avatar answered Sep 04 '25 05:09

Kay Ana