Remova aplicativos indesejados do Windows 10 com o PowerShell

O Windows 10 inclui uma série de aplicativos integrados que vão desde aplicativos básicos como Calculadora e Clima até aplicativos mais focados em tarefas como Correio e Fotos. Embora esses aplicativos integrados sejam adequados para a maioria das situações, em um ambiente empresarial, eles podem ser inadequados, redundantes ou não suportados. Muitas vezes, esses aplicativos representam um risco à segurança. É por isso que, neste post, você aprenderá como remover aplicativos do Windows 10 com o PowerShell.

O problema é que a Microsoft não facilita a desinstalação de alguns desses aplicativos. Não há botão de desinstalação ao usar métodos normais. Os aplicativos integrados devem ser desinstalados por meio do PowerShell.

Aviso Legal: Não desinstale todos os aplicativos do Windows 10. Muitos deles são necessários para a “Experiência” do Windows 10 e outros, como o framework .NET, são necessários para outros programas. Seja seletivo sobre quais aplicativos desinstalar. Você pode reinstalar todos os aplicativos, no entanto, e verá o comando PowerShell para fazer isso no final deste artigo.

Localizando Aplicativos do Windows 10 com o PowerShell

Na verdade, existem dois tipos diferentes de aplicativos com os quais estaremos trabalhando.

  • Pacotes AppX – Aplicativos instalados com o sistema operacional
  • Pacotes AppX provisionados – Aplicativos instalados como parte da configuração inicial do perfil do usuário.

O primeiro passo é obter um inventário dos aplicativos instalados. Para fazer isso, inicie o PowerShell com privilégios elevados e execute o comando Get-AppxPackage. Isso retornará todos os pacotes AppX instalados no Windows 10.

PS C:\> Get-AppxPackage

Name              : Microsoft.NET.Native.Framework.1.6
Publisher         : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Architecture      : X64
ResourceId        :
Version           : 1.6.24903.0
PackageFullName   : Microsoft.NET.Native.Framework.1.6_1.6.24903.0_x64__8wekyb3d8bbwe
InstallLocation   : C:\Program Files\WindowsApps\Microsoft.NET.Native.Framework.1.6_1.6.24903.0_x64__8wekyb3d8bbwe
IsFramework       : True
PackageFamilyName : Microsoft.NET.Native.Framework.1.6_8wekyb3d8bbwe
PublisherId       : 8wekyb3d8bbwe
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
IsPartiallyStaged : False
SignatureKind     : Store
Status            : Ok
--snip--

Os pacotes provisionados têm um comando ligeiramente diferente e também precisam do parâmetro Online. O parâmetro Online extrai pacotes do sistema operacional online atual, ao contrário de um arquivo de imagem localizado em um diretório local. Isso apresentará uma lista de todos os detalhes sobre cada pacote.

PS C:\> Get-AppxProvisionedPackage -Online


DisplayName  : Microsoft.3DBuilder
Version      : 16.1.1431.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.3DBuilder_16.1.1431.0_neutral_~_8wekyb3d8bbwe
Regions      :

DisplayName  : Microsoft.BingWeather
Version      : 4.31.11905.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.BingWeather_4.31.11905.0_neutral_~_8wekyb3d8bbwe
Regions      :
--snip--

Refinando as listagens de aplicativos

Ambos esses comandos produzem listagens bastante verbosas e tudo o que você está interessado é no Nome do pacote para os pacotes Appx e no DisplayName para os pacotes provisionados, como mostrado abaixo.

Details of Get-AppxPackage listing
Listing for get-appxprovisionedpackage

Para facilitar um pouco as coisas, encaminhe os resultados através de Select-Object e selecione as propriedades Nome e DisplayName. Isso lhe dará uma lista como a mostrada abaixo. Esta lista é mais fácil de trabalhar.

Get-AppxPackage | Select-Object Name
Output of get-appxpackage | select object name

Agora você pode ver quais aplicativos do Windows 10 gostaria de remover. Neste ponto, você precisa listar todos os nomes dos pacotes que gostaria de remover. Uma maneira de fazer isso é copiar e colar os aplicativos do Windows 10 que você está interessado em remover e construir uma lista dessa forma. Um truque que eu uso é salvar os resultados em um arquivo de texto e depois abrir esse arquivo no Visual Studio Code. Por exemplo:

Get-AppxPackage | Select-object name | Out-File apps.txt | code apps.txt

No seu editor externo, comece a construir uma matriz de aplicativos para remover.

$ProvisionedAppPackageNames = @()

Agora que você tem a lista, pode começar a construir o script do PowerShell.

Removendo Aplicativos do Windows 10 com PowerShell

Agora, você deve ter uma matriz definida em seu editor que contém os nomes de todos os pacotes do AppX que você gostaria de remover. Apresentei um exemplo abaixo.

$ProvisionedAppPackageNames = @(
    "Microsoft.BingFinance"
    "Microsoft.BingNews"
    "Microsoft.BingSports"
    "Microsoft.BingWeather"
    "Microsoft.MicrosoftOfficeHub"
    "Microsoft.Getstarted"
    "microsoft.windowscommunicationsapps" # Correio, Calendário
    "Microsoft.Office.OneNote"
    "Microsoft.People"
    "Microsoft.SkypeApp"
    "Microsoft.XboxApp"
    "Microsoft.ZuneMusic"
    "Microsoft.ZuneVideo"
)

Com a matriz populada com as aplicações específicas a serem removidas, você pode configurar o loop foreach para percorrer cada pacote a ser desinstalado usando o cmdlet Remove-AppXProvisionedPackage e o cmdlet Remove-AppXPackage.

foreach ($ProvisionedAppName in $ProvisionedAppPackageNames) {
    Get-AppxPackage -Name $ProvisionedAppName -AllUsers | Remove-AppxPackage
    Get-AppXProvisionedPackage -Online | Where-Object DisplayName -EQ $ProvisionedAppName | Remove-AppxProvisionedPackage -Online
}

Se, por algum motivo, você deseja reinstalar todas as aplicações, sempre pode usar o cmdlet add-AppXPackage para registrar a aplicação do Windows 10 novamente, especificando o arquivo XML de manifesto da aplicação, conforme mostrado abaixo.

Get-AppxPackage -AllUsers | Foreach {
    Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
}

Resumo

Mesmo que a Microsoft não torne fácil a desinstalação de aplicativos do Windows 10, você pode sempre contar com o PowerShell!

Source:
https://adamtheautomator.com/remove-windows-10-apps/