Remova Aplicativos Indesejados do Windows 10 com 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 de segurança. Por isso, 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á um botão de desinstalação ao usar métodos normais. Os aplicativos integrados precisam ser desinstalados por meio do PowerShell.

Aviso: 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 criterioso sobre quais aplicativos desinstalar. No entanto, você pode reinstalar todos os aplicativos e verá o comando do PowerShell para fazer isso no final deste artigo.

Encontrando 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 provisionados AppX – 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 busca pacotes do sistema operacional online atual, em vez 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--

Reduzindo a lista de aplicativos

Ambos esses comandos produzem uma lista bastante detalhada 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, envie os resultados através do comando Select-Object e selecione as propriedades Nome e DisplayName. Isso lhe dará uma lista como a 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 você gostaria de remover. Neste ponto, você precisa listar todos os nomes dos pacotes que você 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, você pode começar a construir o script do PowerShell.

Removendo aplicativos do Windows 10 com o PowerShell.

Agora você deve ter uma matriz definida no seu editor que contém os nomes de todos os pacotes AppX que você deseja remover. Eu criei um exemplo abaixo.

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

Com a matriz populada com os aplicativos específicos a serem removidos, 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ê quiser reinstalar todos os aplicativos, você sempre pode usar o cmdlet add-AppXPackage para registrar o aplicativo do Windows 10 novamente, especificando o arquivo XML de manifesto do aplicativo, como mostrado abaixo.

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

Resumo

Mesmo que a Microsoft não facilite a desinstalação dos aplicativos do Windows 10, você pode ver que sempre terá o PowerShell como alternativa!

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