Uninstall-Package не работает в PowerShell: что делать

В Windows есть несколько способов удалить приложения. Многие пользователи сообщают, что Uninstall-Package или похожие команды не работают в PowerShell. Эти команды позволяют удалять даже встроенные системные приложения, поэтому когда они не работают, вы не сможете корректно «раздеблоутить» Windows или удалить проблемный софт.
Ниже — проверенные шаги и альтернативы, которые помогают вернуть контроль над установленными пакетами.
Быстрые шаги для принудительного удаления программы
- Запустите PowerShell от имени администратора.
- Получите список Appx-пакетов:
Get-AppxPackage - Удалите пакет:
Remove-AppxPackage

Важно: для системных приложений иногда потребуется использовать System-счёт или запустить удаление для всех пользователей с опцией -AllUsers (при наличии у пакета соответствующих прав).
Что делать, если Uninstall-Package не работает в PowerShell
1. Используйте cmdlet Uninstall-Package и WMI/Win32_Product
- Откройте PowerShell с правами администратора.
- Получите список программ с помощью WMI:
Get-WmiObject -Class Win32_Product | Select-Object -Property Name
- Сопоставьте переменную с приложением (пример):
$MyApp = Get-WmiObject -Class Win32_Product | Where-Object{$_.Name -eq "Free Tools"}- Вызовите метод удаления:
$MyApp.Uninstall()Если приложение не отображается в Win32_Product, используйте Get-Package с провайдером Programs:
Get-Package -Provider Programs -IncludeWindowsInstaller -Name "Camera"Затем можно вызвать Uninstall-Package -Name "Camera" (или эквивалентный cmdlet) в зависимости от результата поиска.
Примечание: Win32_Product может инициировать переустановку MSI-пакетов при обращении к классу. Используйте его осмотрительно на серверах и в продакшн-средах.
2. Альтернативная команда: чтение строки удаления из реестра и запуск msiexec
Это продвинутый метод. Потребуются права администратора и базовое знание PowerShell. Суть — найти UninstallString в реестре и запустить msiexec для MSI-пакетов.
$uninstall32 = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "SOFTWARE NAME" } | select UninstallString
$uninstall64 = gci "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "SOFTWARE NAME" } | select UninstallString
if ($uninstall64) {
$uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
$uninstall64 = $uninstall64.Trim()
Write "Uninstalling..."
start-process "msiexec.exe" -arg "/X $uninstall64 /qb" -Wait
}
if ($uninstall32) {
$uninstall32 = $uninstall32.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
$uninstall32 = $uninstall32.Trim()
Write "Uninstalling..."
start-process "msiexec.exe" -arg "/X $uninstall32 /qb" -Wait
}Закройте PowerShell после завершения. Вы также можете сохранить этот набор команд в .ps1 и запускать как скрипт для автоматизации.
Важно: команда ищет по вхождению “SOFTWARE NAME” — замените шаблон на точное имя или часть имени программы.
Когда описанные методы не помогут
- Встроенные системные приложения могут быть защищены: вы увидите сообщение «This app is part of Windows and cannot be uninstalled on a per-user basis». Удаление таких приложений может нарушить систему.
- Если приложение оставляет следы в реестре или файлах, простое удаление пакета не удалит остаточные данные.
- Установщики, отличные от MSI (например, NSIS или инсталляторы с собственным движком), могут не предоставлять UninstallString в ожидаемом виде.
Альтернативные подходы
- Используйте официальный деинсталлятор приложения или раздел «Приложения и возможности» в Параметрах Windows.
- Воспользуйтесь специальными утилитами для удаления (Revo Uninstaller, IObit Uninstaller) — они анализируют остаточные файлы и реестр.
- Если нужно удалить Appx-пакеты, используйте
Remove-AppxPackageдля текущего пользователя илиRemove-AppxProvisionedPackageдля образа/всех пользователей. - Для корпоративных сред применяйте Intune/Configuration Manager для управления удалениями централизованно.
Мини-методика: безопасный порядок действий
- Снимите точку восстановления системы (рекомендуется) или создайте образ системы.
- Запустите PowerShell от имени администратора.
- Попробуйте
Get-AppxPackage/Remove-AppxPackageдля Appx. - Ищите пакет через
Get-PackageилиGet-WmiObject. - Если это MSI, найдите UninstallString и запустите msiexec с ключом
/X. - Проверьте остаточные файлы в Program Files и HKLM/HKCU\Software.
- При сомнениях откатите систему.
Чек-листы по ролям
Администратор:
- Запустить PowerShell с правами администратора.
- Проверить наличия пакета в системных провайдерах (
Get-Package,Win32_Product). - Делать резервную копию реестра перед массовыми изменениями.
Пользователь:
- Попробовать удалить через Параметры → Приложения.
- Перезагрузить систему и повторить удаление.
Инженер поддержки:
- Собрать логи удаления и строку UninstallString.
- Рекомендовать восстановление системы, если удаление нарушило зависимости.
Безопасность и риски
- Не удаляйте системные компоненты, если не уверены в последствиях. Это может повлечь нестабильность или потерю функций.
- Используйте
Win32_Productаккуратно: обращение к нему может инициировать повторную проверку и ремонт MSI-пакетов.
Краткий глоссарий
- Appx: формат приложений UWP/Store в Windows.
- MSI: пакет установки Microsoft Installer.
- UninstallString: строка удаления, записанная в реестре для деинсталляции.
Резюме
Если Uninstall-Package не работает, действуйте по шагам: запустите PowerShell как администратор, найдите пакет через Get-AppxPackage, Get-Package или Win32_Product, и используйте Remove-AppxPackage или запуск msiexec через UninstallString. Для встроенных системных приложений удаление может быть ограничено и рисковано.
Важно: если после всех действий проблема остаётся, проверьте нашу статью по восстановлению работы PowerShell или оставьте комментарий ниже — ваш фидбэк помогает улучшать инструкции.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone