Приложения, при установке которых использовался установщик Windows msiexec могут быть деинсталлированы через консоль, с его же помощью. Для этого нужно только узнать GUID программы и передать его установщику.
Получаем GUID
Получаем GUID на примере программы TeamViewer
(Get-Package -Name "TeamViewer*") | fl Name,TagId
Так же можно получить GUID через CMD
wmic product where "Name like '%TeamViewer%'" get Name, IdentifyingNumber
Или же воспользоваться самым быстрым вариантом и получить информацию из реестра.
Что бы ничего не пропустить, поиск лучше проводить по обоим веткам реестра
Смотрим в ветке отвечающей за 64 битные программы:
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | ?{ $_.DisplayName -like "*TeamViewer*" }
Так как ничего не найдено, смотрим 32 битное ПО:
Get-ItemProperty HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | ?{ $_.DisplayName -like "*teamViewer*" }
Осталось отправить полученный GUID через конвейер на удаление
Удаление программы
Удаляем программу, передав GUID установщику пакетов
(Get-ItemProperty HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | ?{ $_.DisplayName -like "*TeamViewer*" }).PSChildName | % { msiexec.exe /x $_ /qn }
Ключ /x указывает на режим деинсталляции, а параметр /qn определяет ее тихий режим без каких либо всплывающих окон.
После этой команды программа автоматически завершит работу и будет удалена с компьютера.
Для некоторых программ, требующих авторизацию, например таких как антивирус касперского, можно использовать специальные параметры для указания логина и пароля:
msiexec.exe /x {7911E943-32CC-45D0-A29C-56E6EF762275} KLLOGIN=Login KLPASSWD=Pas$w0rd /qn
Иногда может быть полезен альтернативный вариант, например если предыдущий способ зависает или не хочет удалять в тихом режиме
(Get-WmiObject -Class Win32_Product | ?{ $_.Name -like "*TeamViewer*" }).uninstall()