Powershell как удалить программу

Удаление приложений по умолчанию в Windows 10 через PowerShell

Powershell как удалить программу

В Windows 10 по умолчанию предустановленно множество различных приложений по умолчанию.

Многие из этих приложений постоянно вмешиваются в работу системы, насильно переназначая файловые ассоциации на себя (особо часто это пытаются сделать приложения Groove Music и Movies & TV).

Удалить некоторые из этих приложений стандартными средствами не получится, и сделать это можно только с помощью командной строки PowerShell.

Запустить консоль PowerShell можно следующим образом:

  1. Открываем меню Пуск и набираем там PowerShell
  2. В результатах поиска видим “Windows PowerShell”, нажимаем на нем правой кнопкой, и выбираем пункт “Запустить от имени администратора”.
  • Удалить приложение Microsoft Solitaire CollectionGet-AppxPackage *MicrosoftSolitaireCollection* | Remove-AppxPackage
  • Удалить приложение OfficeGet-AppxPackage *MicrosoftOfficeHub* | Remove-AppxPackage
  • Удалить приложение Office OneNoteGet-AppxPackage *Office.OneNote* | Remove-AppxPackage
  • Удалить приложение Paint 3DGet-AppxPackage *MSPaint* | Remove-AppxPackage
  • Удалить приложение Print 3DGet-AppxPackage *Print3D* | Remove-AppxPackage
  • Удалить приложение SkypeGet-AppxPackage *SkypeApp* | Remove-AppxPackage
  • Удалить приложение XBoxGet-AppxPackage *XboxApp* | Remove-AppxPackage
  • Удалить приложение Будильник и часыGet-AppxPackage *windowsalarms* | Remove-AppxPackage
  • Удалить приложение Ваш телефонGet-AppxPackage *YourPhone* | Remove-AppxPackage
  • Удалить приложение ЗапискиGet-AppxPackage *MicrosoftStickyNotes* | Remove-AppxPackage
  • Удалить приложение Запись голосаGet-AppxPackage *WindowsSoundRecorder* | Remove-AppxPackage
  • Удалить приложение ЛюдиGet-AppxPackage *Microsoft.People* | Remove-AppxPackage
  • Удалить приложение КамераGet-AppxPackage *WindowsCamera* | Remove-AppxPackage
  • Удалить приложение КартыGet-AppxPackage *windowsmaps* | Remove-AppxPackage
  • Удалить приложение Кино и видеоGet-AppxPackage *ZuneVideo* | Remove-AppxPackage
  • Удалить приложение Меню игрыGet-AppxPackage *XboxGamingOverlay* | Remove-AppxPackage
  • Удалить приложение Музыка GrooveGet-AppxPackage *ZuneMusic* | Remove-AppxPackage
  • Удалить приложение Набросок на фрагменте экранаGet-AppxPackage *ScreenSketch* | Remove-AppxPackage
  • Удалить приложение ПогодаGet-AppxPackage *bingweather* | Remove-AppxPackage
  • Удалить приложение Портал смешанной реальностиGet-AppxPackage *MixedReality.Portal* | Remove-AppxPackage
  • Удалить приложение ПочтаGet-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage
  • Удалить приложение СоветыGet-AppxPackage *GetStarted* | Remove-AppxPackage
  • Удалить приложение СообщенияGet-AppxPackage *Messaging* | Remove-AppxPackage
  • Удалить приложение Тарифные планыGet-AppxPackage *Microsoft.OneConnect* | Remove-AppxPackage
  • Удалить приложение Техническая поддержкаGet-AppxPackage *GetHelp* | Remove-AppxPackage
  • Удалить приложение Центр отзывовGet-AppxPackage *WindowsFeedbackHub* | Remove-AppxPackage
  • Удалить приложение Яндекс МузыкаGet-AppxPackage *yandex* | Remove-AppxPackage

Так же можно удалить приложение Магазин (Store), НО в таком случае вы не сможете устанавливать другие приложения из Магазина Windows, так что стоит хорошенько подумать, прежде чем это делать.

Get-AppxPackage *windowsstore* | Remove-AppxPackage

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

Если же, на данном компьютере будет работать другой пользователь, то эти действия никак не повлияют на его набор приложений.

Если же нужно удалить приложения для всех пользователей персонального компьютера, то нужно в первую часть команды дописать параметр -allusers, а во вторую -AllUsers. В итоге команда приобретет вот такой вид:
Get-AppxPackage -allusers *WindowsFeedbackHub* | Remove-AppxPackage -AllUsers

Используя данные два параметра, можно запросто удалить большинство приложений из Windows 10 для всех пользователей.

Источник: https://sysadmin.ru/articles/udalenie-prilozhenij-po-umolchaniyu-v-windows-10-cherez-powershell

Удаление программ из консоли и простой пример мониторинга реестра

Powershell как удалить программу

На форуме OSZone модератор DJ Mogarych задал вопрос на тему удаления программ по сети. Команда wmic не видела ряд приложений, отображаемых в элементе панели управления «Установка и удаление программ». Нужно было их найти!

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

Сведения из класса WMI Win32_Product

Этот способ базируется на инструментарии управления Windows (WMI). Сведения об установленных программах содержатся в классе Win32_Product, поэтому можно удалять программы из командной строки или PowerShell.

CMD

Коллега по форуму пользуется командaми из арсенала консоли WMI. Вот так можно посмотреть список установленных программ наряду с основными сведениями о них:

wmic product get name,version,vendor

Зная имя программы, можно тихо удалить ее:

wmic product where name=”Имя программы” call uninstall /nointeractive

PowerShell

Командлет Get-WMIObject вам хорошо знаком. Список программ:

Get-WmiObject Win32_Product | ft name,version,vendor,packagename

Удаление программы:

(Get-WmiObject Win32_Product -Filter “Name = 'Имя программы'”).Uninstall()

Недостаток способа

Этот подход сопряжен с большим ограничением, которое отчасти породило вопрос на форуме. Элемент панели управления «Установка и удаление программ» отображает больше приложений, чем выводят wmic и PowerShell.

В списке WMI присутствуют только приложения, установленные с помощью Windows Installer.

Это не совсем очевидно, но я специально добавил в первую команду PowerShell вывод имен пакетов — все они MSI. Инструментарий управления Windows спроектирован в том числе и для управления состоянием ПО, но далеко не все программы используют установщик Windows, к сожалению.

Сведения из реестра Windows

Зато все нормальные программы при установке должны записывать сведения в реестр, откуда их извлекает элемент панели управления appwiz.cpl. Конкретный раздел реестра хорошо известен и давно задокументирован в статье KB314481 (ее я всегда нагугливаю запросом uninstall registry).

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

У каждого приложения там свой подраздел, именем которого по воле разработчика является название или идентификатор программы. Команда для удаления записана в параметре UninstallString – именно она вызывается из панели управления.

Заметьте, что команда открывает графический интерфейс деинсталлятора, но не удаляет программу автоматически, как в случае со способом WMI. Поэтому нужно еще выяснить ключ тихой установки/удаления, зависящий от типа установщика. Зачастую, это /s или /silent, и тогда команда для автоматического удаления выглядит примерно так:

“C:\Program Files\VideoLAN\VLC\uninstall.exe” /s

Но и у этого способа есть нюанс – в обсуждаемом разделе реестра могут отображаться не все программы. Например, я не нашел там установленный uTorrent (проверьте у себя).

Откуда панель управления о нем знает? К ответу можно прийти поиском по реестру или просто догадаться, но лучше сразу взять простой и удобный инструмент — Process Monitor.

Быстрый мониторинг реестра с помощью Process Monitor

Давайте выясним, откуда «Установка и удаление программ» берет сведения об установленном uTorrent. На панели инструментов Process Monitor и Process Explorer есть мишень, помогающая точно определить процесс.

  1. Перетяните мишень из Process Monitor на окно панели управления.
  2. Process Monitor автоматически определит процесс окна и отфильтрует по нему результаты мониторинга, в чем легко убедиться, открыв список фильтров сочетанием Ctrl + L. В данном случае за руку был схвачен процесс explorer.exe с PID 3704.

  3. В панели управления выполните поиск программы, чтобы спровоцировать запрос в реестр.
  4. В Process Monitor нажмите Ctrl + F и поищите имя программы или издателя (я искал torrent).
  5. Перейдите в редактор реестра сочетанием клавиш Ctrl + J.
     

Обратите внимание на имя раздела реестра. Это пользовательский раздел HKEY_CURENT_USER, а остальной путь идентичен системному разделу HKLM, который рассматривался выше.

Помимо uTorrent в этом разделе у меня отметился браузер Яндекс и одно приложение Microsoft, пожелавшее не афишировать свое название в имени подраздела. Заметьте, что Process Monitor помог найти нужную информацию моментально!

Почему приложения записывают сведения в разные разделы реестра

Для эксперимента выполните повторную установку uTorrent или любого другого приложения из списка HKCU. По ходу дела вы не увидите запроса UAC. Приложению для установки и работы не нужны права администратора, поэтому нет необходимости ставить его в Program Files и вносить изменения в HKLM. Оно устанавливается в профиль и пишет сведения только в раздел реестра HKCU.

Применительно к удалению тут есть еще один нюанс – программа установлена в профиль конкретного пользователя, что видно на рисунке выше (Users\Vadim). Поэтому при дистанционном удалении команда должна содержать абсолютный путь, если только не выполняется от имени этого пользователя.

Традиционный же способ установки программ сопряжен с требованием прав администратора, сохранением файлов приложения в Program Files и записью сведений в HKLM. Даже если технически в этом нет нужды, разработчики могут идти навстречу администраторам, помогая им контролировать установку программ на ПК и проводить инвентаризацию ПО.

Мне попадались приложения, в которых установщик ориентируется на текущие права пользователя – администратору показывает запрос UAC, а пользователю сразу ставит в профиль.

Литература

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

Дискуссия

Я решил рассказать про мишень после того, как дважды за вполне праздничный день воспользовался ей сначала в Process Explorer, а затем в Process Monitor. Такие инструменты значительно упрощают изучение системы, и в нашем случае ответ на совсем неочевидный вопрос нашелся очень легко. У меня почти два десятка записей об утилитах sysinternals, и почти все задачи решаются в 2-3 хода.

Судя по форуму и почте, новогодние праздники многие читатели посвятили [пере]установке Windows, и я не исключаю появления небольшой заметки по мотивам вопросов.

Обычно, в каникулы я создаю несколько статей и ставлю их на будущие даты, но в этот раз не получилось.

Я не так много времени проводил за ПК и даже не сумел подвести итоги велосезона оТ-о Впрочем, идей и набросков только прибавилось 🙂 Однако я поковырял блог и помимо прочего прикрутил поиск в мобильное меню, о чем вы меня просили.

А вы чем высокотехнологичным занимались в каникулы? Готовы к Windows 10 Consumer Preview через неделю? 🙂

Источник: http://www.outsidethebox.ms/17408/

Как удалить приложение с помощью PowerShell?

Powershell как удалить программу

есть ли простой способ подключиться к стандарту'установка и удаление программ' функциональность с помощью PowerShell для удалить существующее приложение? Или проверить, установлено ли приложение?

windows powershell uninstall windows-installer $app = Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match “Software Name” } $app.Uninstall()

Edit: Роб нашел другой способ сделать это с параметром Filter:

$app = Get-WmiObject -Class Win32_Product ` -Filter “Name = 'Software Name'”

EDIT: за эти годы этот ответ получил довольно много upvotes. Я хотел бы добавить несколько замечаний. С тех пор я не использовал PowerShell, но помню, что наблюдал некоторые проблемы:

  1. если для приведенного ниже сценария больше совпадений, чем 1, он не работает, и вы должны добавить фильтр PowerShell, который ограничивает результаты 1. Я считаю, что это -First 1 но я не уверен. Не стесняйтесь редактировать.
  2. если приложение не установлено MSI, оно не работает. Причина он был написан, как показано ниже, потому что он изменяет MSI для удаления без вмешательства, что не всегда является случаем по умолчанию при использовании собственной строки удаления.

использование объекта WMI занимает вечность. Это очень быстро, если вы просто знаете имя программы, которую вы хотите удалить.

$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}

чтобы исправить второй метод в сообщении Джеффа Хиллмана, вы можете либо сделать:

$app = Get-WmiObject -Query “SELECT * FROM Win32_Product WHERE Name = 'Software Name'”

или

$app = Get-WmiObject -Class Win32_Product ` -Filter “Name = 'Software Name'”

чтобы добавить немного к этому сообщению, мне нужно было удалить программное обеспечение с нескольких серверов. Я использовал ответ Джеффа, чтобы привести меня к этому:

сначала я получил список серверов, я использовал AD запрос, но вы можете предоставить массив имен компьютеров, однако, вы хотите:

$computers = @(“computer1”, “computer2”, “computer3”) затем я прошелся по ним, добавив параметр-computer в запрос gwmi:
foreach($server in $computers){ $app = Get-WmiObject -Class Win32_Product -computer $server | Where-Object { $_.IdentifyingNumber -match “5A5F312145AE-0252130-432C34-9D89-1” } $app.Uninstall()}

я использовал свойство IdentifyingNumber для сопоставления вместо имени, просто чтобы убедиться, что я удаляю правильное приложение.

я узнал, что класс Win32_Product не рекомендуется, потому что он запускает ремонт и не оптимизирован для запросов. источник

нашел этот пост из Sitaram Pamarthi со скриптом для удаления, Если вы знаете guid приложения. Он также поставляет другой скрипт для поиска приложений очень быстро здесь.

используйте так:. \удалить.ps1-GUID {C9E7751E-88ED-36CF-B610-71A1D262E906}

[cmdletbinding()] param ( [parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)] [string]$ComputerName = $env:computername, [parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Mandatory=$true)] [string]$AppGUID) try { $returnval = ([WMICLASS]”\$computerName\ROOT\CIMV2:win32_process”).Create(“msiexec `/x$AppGUID `/norestart `/qn”) } catch { write-error “Failed to trigger the uninstallation. Review the error message” $_ exit } switch ($($returnval.returnvalue)){ 0 { “Uninstallation command triggered successfully” } 2 { “You don't have sufficient permissions to trigger the command on $Computer” } 3 { “You don't have sufficient permissions to trigger the command on $Computer” } 8 { “An unknown error has occurred” } 9 { “Path Not Found” } 9 { “Invalid Parameter”} }

Я сделаю свой маленький вклад. Мне нужно было удалить список пакетов с того же компьютера. Это сценарий, который я придумал.

$packages = @(“package1”, “package2”, “package3”)foreach($package in $packages){ $app = Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match “$package” } $app.Uninstall()}

Я надеюсь, что это окажется полезным.

обратите внимание, что я должен Дэвиду Стетлеру кредит за этот сценарий, так как он основан на его.

вот сценарий PowerShell с использованием msiexec:

echo “Getting product code”$ProductCode = Get-WmiObject win32_product -Filter “Name='Name of my Software in Add Remove Program Window'” | Select-Object -Expand IdentifyingNumberecho “removing Product”# Out-Null argument is just for keeping the power shell command window waiting for msiexec command to finish else it moves to execute the next echo command& msiexec /x $ProductCode | Out-Nullecho “uninstallation finished”

на основе ответа Джеффа Хиллмана:

вот функция, которую вы можете просто добавить в свой profile.ps1 или определите в текущем сеансе PowerShell:

# Uninstall a Windows programfunction uninstall($programName){ $app = Get-WmiObject -Class Win32_Product -Filter (“Name = '” + $programName + “'”) if($app -ne $null) { $app.Uninstall() } else { echo (“Could not find program '” + $programName + “'”) }}

предположим, вы хотите удалить Блокнот++. Просто введите это в PowerShell:

> uninstall(“notepad++”)

просто имейте в виду, что Get-WmiObject может занять некоторое время, поэтому будьте терпеливы!

использование:

function remove-HSsoftware{[cmdletbinding()]param([parameter(Mandatory=$true,ValuefromPipeline = $true,HelpMessage=”IdentifyingNumber can be retrieved with `”get-wmiobject -class win32_product`””)][ValidatePattern('{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}}')][string[]]$ids,[parameter(Mandatory=$false, ValuefromPipeline=$true, ValueFromPipelineByPropertyName=$true, HelpMessage=”Computer name or IP adress to query via WMI”)][Alias('hostname,CN,computername')][string[]]$computers)begin {}process{ if($computers -eq $null){ $computers = Get-ADComputer -Filter * | Select dnshostname |%{$_.dnshostname} } foreach($computer in $computers){ foreach($id in $ids){ write-host “Trying to uninstall sofware with ID “, “$id”, “from computer “, “$computer” $app = Get-WmiObject -class Win32_Product -Computername “$computer” -Filter “IdentifyingNumber = '$id'” $app | Remove-WmiObject } }}end{}} remove-hssoftware -ids “{8C299CF3-E529-414E-AKD8-68C23BA4CBE8}”,”{5A9C53A5-FF48-497D-AB86-1F6418B569B9}”,”{62092246-CFA2-4452-BEDB-62AC4BCE6C26}”

он не полностью протестирован, но работает под PowerShell 4.

Я запустил файл PS1, как видно здесь. Позволяя ему получить все системы из AD и пытаюсь удалить несколько приложений на всех системах.

Я использовал IdentifyingNumber для поиска программной причины ввода David Stetlers.

Не проверял:

  1. не добавлять идентификаторы к вызову функции в скрипт, вместо запуска скрипта с параметром IDs
  2. вызов скрипта с более чем 1 имя компьютера не автоматически извлекается из функции
  3. извлечение данных из трубы
  4. использование IP-адресов для подключения к системе

что он делает не так:

  1. он не дает никакой информации, если программное обеспечение действительно было найдено в любой данной системе.
  2. это не дает никакого информация об отказе или успехе деинсталляции.

Я не смог использовать uninstall(). Пытаясь, что я получил сообщение об ошибке, сообщающее мне, что вызов метода для выражения, имеющего значение NULL, невозможен. Вместо этого я использовал Remove-WmiObject, который, похоже, выполняет то же самое.

осторожностью: без имени компьютера он удаляет программное обеспечение из все системы в Active Directory.

для большинства моих программ скрипты в этом посте сделали свою работу.Но мне пришлось столкнуться с устаревшей программой, которую я не мог удалить с помощью msiexec.класс exe или Win32_Product. (по какой-то причине я получил выход 0, но программа все еще была там)

моим решением было использовать класс Win32_Process:

С помощью nickdnk эта команда должна получить файл exe удаления путь:

64bit:

[array]$unInstallPathReg= gci “HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” | foreach { gp $_.PSPath } | ? { $_ -match $programName } | select UninstallString

32bit:

[array]$unInstallPathReg= gci “HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall” | foreach { gp $_.PSPath } | ? { $_ -match $programName } | select UninstallString

вам придется очистить строку результата:

$uninstallPath = $unInstallPathReg[0].UninstallString$uninstallPath = $uninstallPath -Replace “msiexec.exe”,”” -Replace “/I”,”” -Replace “/X”,””$uninstallPath = $uninstallPath .Trim()

теперь, когда у вас есть соответствующие программа удаления exe путь к файлу вы можете использовать эту команду:

$uninstallResult = (Get-WMIObject -List -Verbose | Where-Object {$_.Name -eq “Win32_Process”}).InvokeMethod(“Create”,”$unInstallPath”)

$uninstallResult-будет иметь код выхода. 0-успешное выполнение

вышеуказанные команды также могут выполняться удаленно – я сделал это с помощью команды invoke, но я считаю, что добавление аргумент -имя_компьютера может работать

Источник: https://askdev.ru/q/kak-udalit-prilozhenie-s-pomoschyu-powershell-20297/

Удаление встроенных и установленных приложений в Windows 10

Powershell как удалить программу

После установки Windows 10 пользователи могут столкнуться с довольно большим количеством уже установленных в систему приложений. Однако, со временем или же с самого начала многие из них оказываются ненужным, другим же находится лучшая альтернатива и т.д. Неудивительно, что многие пользователи хотят избавиться от обилия лишних значков в Пуске.

Все немного усложняется тем, что не все приложения можно легко удалить через привычные инструменты системы (параметры системы и панель управления), однако, это не значит, что выполнение данного действия невозможно. Просто оно не так очевидно. Но, все же, удалить встроенные в “десятку” приложения  можно без привлечения сторонних программ. Давайте разберемся, как это сделать.

Удаление приложения в Параметрах системы

“Как переименовать папку пользователя в Windows 10”

Первый метод реализуется через параметры системы.

  1. Нажимаем правой кнопкой мыши по значку меню Пуск (либо используем сочетание клавиш Win+X) и выбираем пункт “Параметры”. Также можно воспользоваться горячими клавишами Win+I.
  2. Откроется окно с параметрами, в котором кликаем по разделу “Приложения”.
  3. В новом окне в перечне слева щелкаем по подразделу “Приложения и возможности”, после чего в правой части окна отобразится список установленных на компьютере программ. Все, что остается сделать – это выбрать ненужную и нажать на кнопку “Удалить”.
  4. После подтверждения действия нажатием на еще одну появившуюся кнопку “Удалить”, приложение будет удалено из системы.

Однако, для многих встроенных в “десятку” приложений подобная кнопка будет неактивна, а это значит, что так просто их удалить нельзя.

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

Кстати, вероятно, для некоторых пользователей привычнее и удобнее будет удалять программы через Панель управления, в разделе “Программы и компоненты”.

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

Удаление программ через оболочку PowerShell

“Как отключить или включить режим гибернации в Windows 10”

На радость разработчикам и просто опытным пользователям в Windows 10 появилась более мощная разновидность командной строки под названием PowerShell. С помощью нее можно, в том числе, удалять ненужные системные приложения, хотя для этого требуется знать имена пакетов в системе. Как все это работает – написано ниже:

  1. Сначала запускаем Windows PowerShell от имени администратора. Для этого одновременно нажимаем клавиши Win+X (или правой кнопкой мыши кликаем по значку меню Пуск), и выбираем нужный пункт. В случае, если PowerShell в контекстном меню Пуск заменен на классическую командную строку, найти и запустить данный инструмент можно через строку поиска.
  2. Теперь нужно посмотреть список всех установленных программ. Для этого вводим команду Get-AppxPackage и нажимаем Enter.
  3. Список получится просто огромным, и разобраться в нем будет не так то и просто. Для удаления программы нужно будет вводить названия принадлежащих ей пакетов, однако, вручную все это делать слишком долго. Поэтому следующим шагом мы выгрузим всю нужную информацию в текстовый файл, а потом будем копировать и вставлять оттуда нужные названия.
  4. Для экспорта информации вводим с команду ниже и нажимаем Enter.
    Get-AppxPackage | Set-Content “$Env:userprofile\Desktop\programms.txt”.
  5. Вся информация о пакетах программ сохранится на рабочем столе в файле “programms.txt”, который можно открыть с помощью Блокнота.
  6. В команде выше можно задать любое имя файла или выбрать место для его сохранения. Также можно экспортировать эту информацию в более понятном виде. Для этого в этой же команде перед “Set-Content” добавляем словосочетание “ConvertTo-Html |”, изменив расширение файла с “txt” на “html”.
  7. Теперь, выгрузив информацию в файлы, можно воспользоваться ими для получения полных названий пакетов по имени приложения. Так, например, выглядит содержимое файла “programms.html”, которое можно открыть с помощью любого установленного на компьютере веб-браузера.
  8. Также получить информацию о конкретном приложении можно, введя команду:
    Get-AppxPackage -Name *XboxGamingOverlay*.
    В звездочках указывается конкретное имя приложения. После ввода команды и нажатия клавиши Enter на экране появится вся необходимая информация. Нас интересует значение рядом со строкой “PackageFullName”, которое и является именем пакета программы.
  9. Копируем значение из строки “PackageFullName”, либо из ранее выгруженных файлов (для этого выделяем нужную информацию и нажимаем клавиши Ctrl+C). Далее пишем команду:
    Remove-AppxPackage имя_пакета -Confirm.
    • вместо фразы “имя_пакета” вставляем скопированное ранее значение.
    • последний параметр “-Confirm” заставит систему показать окно подтверждения, где нам нужно дать согласие на удаление программы путем нажатия клавиши “y” и далее – Enter. Если не указывать данный параметр, удаление пройдет безо всяких дополнительных уведомлений.
  10. Но и это еще не все – в конце нужно удалить пакет с установщиком программы, чтобы он в какой-то момент не решил установить программу обратно. Эту работу выполнит следующая команда:
    Get-AppXProvisionedPackage -Online | where-object {$_.packagename – «*XboxGamingOverlay*»} | Remove-AppxProvisionedPackage –Online.
    В звездочках, соответственно, указываем имя удаленной нами программы.

Другие команды в PowerShell

Все эти команды позволяют удалить встроенные приложения у выбранного в данный момент пользователя. Однако, можно выполнить подобную операцию и для других учетных записей, если для этого есть необходимые права доступа. В этом случае используется команда Get-AppxPackage -User Name, где вместо “Name” указываем, соответственно, имя пользователя, для для которого мы собрались удалять приложение.

Все остальные команды аналогичным рассмотренным выше, за исключением того, что в конце добавляется приставка -User с именем пользователя.

Также имеется возможность удалить приложение вообще для всех пользователей, если в качестве приставки в конце написать -AllUsers.

Можно пойти еще дальше и вообще удалить все приложения из Магазина Windows. В этом нам поможет команда: Get-AppxPackage -AllUsers | Remove-AppxPackage.

Но не стоит волноваться, ничего важного эта команда не удалит – все необходимые для системы приложения останутся нетронутыми. К тому же, каждую удаленную программу можно легко найти в Магазине, поэтому непоправимых действий с помощью подобного метода совершить нельзя.

Кроме того, при создании новой учетной записи на компьютере все приложения будут установлены из Магазина автоматически, хотя и этого можно избежать следующей командой ниже:

Get-AppXProvisionedPackage -Online | Remove-AppxProvisionedPackage –Online.

Правда, если удалить все приложения разом, то удалится и сам Магазин, после чего восстановить программы будет невозможно. К счастью, у каждой из них есть множество удобных альтернатив, так что и  этом случае ничего страшного не случится.

Использование командной строки для удаления программ

Удалить ненужные приложения можно и более традиционным способом – через обычную командную строку. К сожалению, она помогает избавиться только от программ, установленных через обычный Установщик Windows, но во многих случаях и этого способа более, чем достаточно. Делается это следующим образом:

  1. Запускаем командную строку от имени администратора. Для этого можно, например, воспользоваться строкой поиска.
  2. После этого набираем команду wmic и нажимаем Enter. В следующей строке пишем product get name и снова жмем Enter. На экране отобразится список программ, которые можно самостоятельно удалить через командную строку.
  3. Список достаточно большой, поэтому его также, как и при работе с PowerShell, лучше экспортировать в отдельный файл на рабочем столе. Делается это с помощью команды ниже:
    wmic /output:C:\programs.txt product get Name, Version.
    Файл “programs.txt” с наименованиями программ и их версиями будет сохранен на диске С. Разумеется, можно указать любое другое имя файла, а также выбрать иное место для его сохранения. Просмотреть его содержимое можно с помощью обычного Блокнота.
  4. Чтобы сохранить более удобную HTML-версию списка, потребуется добавить к команде выше фразу “/format:htable“, а также заменить расширение файла на “html”. Таким образом, теперь команда выглядит так:
    wmic /output:C:\programs.html product get Name, Version /format:htable.
    Такая команда позволит вывести информацию об установленных программах в более удобной табличной форме. Чтобы просмотреть ее, достаточно открыть файл через любой веб-браузер.
  5. Список программ можно отфильтровать, используя специальную команду:
    wmic product where “Name '%Google%'” get Name, Version.
    В данном случае приведен пример для Google. Данная мера служит скорее для удобства, но если программ много, без подобной фильтрации не обойтись.
  6. Для непосредственного удаления программы нужно ввести команду:
    product where name=”Program name” call uninstall.
    Вместо значения “Program name” вводим имя программы, которую хотим удалить. После того, как мы наберем команду и нажмем Enter, система запросит подтверждение выполнения команды, нажимаем клавишу Y и снова – Enter. Прежде, чем выполнять эту команду, нужно сперва поочередно выполнить следующие:
  7. Также можно в конце команды добавить фразу “/nointeractive”, что избавит от необходимости подтверждать удаление.

Примечание: С помощью командной строки можно удалять приложения на других компьютере, но для этого нужно знать его IP-адрес.

Заключение

Несмотря на кажущуюся сложность, при желании можно удалить все ненужные приложения, встроенные в Windows 10. Самое приятное в этом деле – это то, что можно обойтись стандартными инструментами операционной системы, хотя в случае использования командной строки или оболочки PowerShell, придется потратить немного времени на изучение команд, позволяющих находить и удалять лишние программы.

“Как вывести мой компьютер на рабочий стол Windows 10”

Источник: https://MyWindows10.ru/kak-udalit-predustanovlennye-prilozheniya/

Удаленное администрирование. Установка и удаление программ

Powershell как удалить программу

В этой заметке разберем команды для удаленной установки и удаления программ, используя средства wmi и psexec

Предисловие

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

Отключить антивирус удаленно на примере KAV

psexec \\ComputerName “C:\Program Files (x86)\Kaspersky Lab\Kaspersky Endpoint Security 10 for Windows SP2\avp.com” exit /login=KLAdmin /password=

psexec \\ComputerName “C:\Program Files (x86)\Kaspersky Lab\Kaspersky Endpoint Security 10 for Windows SP2\avp.com” exit /login=KLAdmin /password=

Отключение встроенного брандмауэра для всех профилей (только локально)

powershell -command “Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False”

powershell -command “Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False”

Для удаленного отключения брандмауэра должен быть доступен Сервер RPC. Доступ к которому блокирует включенный брандмауэр 

Источник: https://administra.top/udalennoe-administrirovanie-ustanovka-i-udalenie-programm/

Удаление всех приложений Windows 10 с помощью PowerShell

Powershell как удалить программу

Перед любыми опасными телодвижениями на компьютере, создайте точку восстановления или сделайте полную резервную копию операционной системы. 

После установки Windows 10, вы можете обнаружить, что ваша ОС напичкана приложениями сомнительного характера: Skype, Будильник, Погода, Кино, ТВ, Диктофон, Календарь, Почта, Get Office, Groove Музыка, Камера, Люди, Деньги, OneNote, Ваш телефон, Диктофон и так далее по обширному списку.

Давайте, попробуем удалить некоторые из них при помощи PowerShell, запущенной от имени Администратора (другие многочисленные способы не рассматриваем).

Статья, побудившая написать данный пост.

Выводим список всех установленных пакетов для текущей учетной записи пользователя:

Get-AppxPackage | Select Name, PackageFullName

Ёптимьё, как их много, скажете вы и будете правы. Огромный пчелиный рой жужжащий в фоновом режиме. Сохраняем список в файл. Команда может быть такая (если есть желание сохранить список на Рабочем столе):

Get-AppxPackage | Select Name, PackageFullName >”$env:userprofile\Desktop\Apps_List.txt”

Или такая (всё зависит от вашей версии Windows 10):

Get-AppxPackage | Select Name, PackageFullName >”$env:userprofile\OneDrive\Рабочий стол\Apps_List.txt”

Удаление отдельно взятых приложений:

remove-appxpackage PackageFullName

Замените PackageFullName в приведенной выше команде фактическим приложением, например:

remove-appxpackage ._1.4.0.9_x64__8xx8rvfyw5nnt

Удаление приложения без указания полного имени пакета:

Get-AppxPackage *Microsoft.SkypeApp* | Remove-AppxPackage

Удаление приложений из всех учетных записей пользователей:

Get-AppxPackage -allusers *PackageName* | Remove-AppxPackage

При создании нового пользователя приложение по умолчанию будут установлены заново. Удаление приложений для новых учетных записей:

Get-AppxProvisionedPackage –online | where-object {$_.packagename – “*PackageName*”} | Remove-AppxProvisionedPackage –online

Удаление всех пакетов, с сохранением Магазина Windows:

Get-AppxPackage -AllUsers | where-object {$_.name –not “*store*”} | Remove-AppxPackage

Далее, отмечу следующее: удалять Магазин Windows (Microsoft.WindowsStore), нельзя, как бы нам этого не хотелось.

Если бесшабашно удалите все пакеты, могут возникнуть мелкие неприятности. Например, у меня исчезла возможность просмотра картинок. Потому, что “Microsoft.Windows.

Photos” была удалена, а в новых версиях Windows 10, такое приложение, как “Просмотр фотографий Windows” скрыто. Следовательно, нужно обратно восстанавливать из Магазина, такой инструмент, как “Microsoft.Windows.

Photos” или установить классическое средство “Просмотр фотографий Windows”.

В PowerShell запущенной от имени администратора, выведите следующую команду:

Источник: https://zen.yandex.ru/media/oleglav/udalenie-vseh-prilojenii-windows-10-s-pomosciu-powershell-5e5dee4c871f331bddd08866

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.