Как удалить Dell Support Assist с PowerShell? - PullRequest
2 голосов
/ 09 мая 2019

Итак, появилась статья о том, что вспомогательная помощь уязвима, бла-бла.

Высшее руководство посчитало, что вспомогательная помощь небезопасно, и распорядилось удалить ее со всех машин .....

нет, я не могу / не буду пытаться убедить их иначе, это произойдет так или иначе

Пытаться сделать это было кошмаром в течение последних 8 часов, пока я пытаюсь выполнить неудачный сценарий после следующего, только чтобы эта проклятая программа НЕ УМРАЛА

Вот что у меня есть

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

Работает часть get-WMIObject, а работает uninstaller.exe / arp / S

однако они работают только для более старых версий, более новые версии требуют чего-то более похожего на две верхние команды, но есть проблема

флаг / quiet заставляет его не работать. если я опускаю флаг молчания, я получаю всплывающее окно «Вы уверены», да, оно удаляется, с флагом молчания ничего не происходит, программа остается

Я использую следующие, чтобы получить пути удаления

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

Я действительно ненавижу помощь поддержки сейчас, и я хочу, чтобы она умерла, и я нахожусь в своем уме.

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Так что у меня возникла прямо противоположная проблема. Мне удалось удалить более новые версии, но все, что вернуло «C: \ Program Files \ Dell \ SupportAssist \ uninstaller.exe / arp» в виде UninstallString, не работает в моей автоматизации, так как я не могу получить приглашение не дисплей (у меня есть около 700 агентов, чтобы удалить это дерьмо, некоторые с несколькими версиями, поэтому я чувствую вашу боль).

Для более новых версий я использовал:

$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

    }
}

Я собираюсь изучить метод, который вы показываете для более старой версии (2.0 и более ранних), чтобы увидеть, решит ли это мою проблему. Надеюсь, мой фрагмент кода поможет вам. Приветствия.

0 голосов
/ 16 мая 2019

Вы пробовали что-то вроде:

get-package *dell* | uninstall-package -whatif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...