Cleanup Dell SupportAsssist Remediation

Modified on Thu, 20 Aug at 11:18 AM

Open Dell SupportAssist


Settings -> System Repair -> Turn off System Repair


Also delete this folder:

C:\ProgramData\Dell\SARemediation\SystemRepair\Snapshots\Backup


Uninstall Dell SupportAssist Remediation

This also deletes the folder C:\ProgramData\Dell\SARemediation\SystemRepair\Snapshots


# 1. Stop and disable Dell Remediation services
$services = @("DellSupportAssistRemediationService", "Dell Remediation")
foreach ($svc in $services) {
    if (Get-Service -Name $svc -ErrorAction SilentlyContinue) {
        Write-Host "Stopping and disabling service: $svc"
        Stop-Service -Name $svc -Force -ErrorAction SilentlyContinue
        Set-Service -Name $svc -StartupType Disabled -ErrorAction SilentlyContinue
    }
}

# 2. Find and silently uninstall Dell SupportAssist Remediation
Write-Host "Searching for Dell SupportAssist Remediation uninstaller..."
$uninstallKeys = @(
    "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",
    "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
)

foreach ($key in $uninstallKeys) {
    $apps = Get-ChildItem -Path $key -ErrorAction SilentlyContinue | 
            Get-ItemProperty | 
            Where-Object { $_.DisplayName -match "Dell SupportAssist Remediation|Dell Update SupportAssist Plugin|Dell OS Recovery" }

    foreach ($app in $apps) {
        Write-Host "Found: $($app.DisplayName)"
        $rawUninstall = $app.UninstallString

        if ($rawUninstall) {
            Write-Host "Uninstalling $($app.DisplayName)..."
            
            if ($rawUninstall -match "msiexec") {
                # Standard MSI uninstall
                $guid = $app.PSChildName
                Start-Process msiexec.exe -ArgumentList "/x `"$guid`" /qn /norestart" -Wait
            } else {
                # Clean up quotes and pass directly through cmd /c to handle spaced paths
                $cleanCommand = $rawUninstall -replace '^"([^"]+)"(.*)$', '$1 $2'
                cmd.exe /c "$rawUninstall /silent /quiet /norestart" | Out-Null
            }
        }
    }
}

# Fallback: Attempt WMI uninstallation if registry uninstall didn't remove it
$wmiApp = Get-CimInstance -ClassName Win32_Product -Filter "Name LIKE '%SupportAssist Remediation%'" -ErrorAction SilentlyContinue
if ($wmiApp) {
    Write-Host "Triggering fallback WMI uninstaller for $($wmiApp.Name)..."
    Invoke-CimMethod -InputObject $wmiApp -MethodName "Uninstall" | Out-Null
}

# 3. Take ownership, reset ACL permissions, and delete the folders
$targetFolder = "C:\ProgramData\Dell\SARemediation"

if (Test-Path -Path $targetFolder) {
    Write-Host "Granting Administrator ownership and permissions on $targetFolder..."
    
    # Seize ownership recursively for Administrators
    & takeown.exe /F $targetFolder /A /R /D Y | Out-Null
    
    # Grant Administrators Full Control using universal SID
    & icacls.exe $targetFolder /grant "*S-1-5-32-544:F" /T /C /Q | Out-Null
    
    Write-Host "Removing $targetFolder..."
    Remove-Item -Path $targetFolder -Recurse -Force -ErrorAction SilentlyContinue
    
    # Fallback deletion via cmd
    if (Test-Path -Path $targetFolder) {
        cmd.exe /c "rd /s /q `"$targetFolder`"" | Out-Null
    }
}

if (-not (Test-Path -Path $targetFolder)) {
    Write-Host "Success: Dell Remediation removed and folder deleted." -ForegroundColor Green
} else {
    Write-Warning "Folder still exists. A reboot may be required if files are actively locked."
}

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article