Verwijder Windows 10 apps

Windows 10 komt standaard voorgeinstalleerd met een hele berg software. Maps, Xbox Companion, Phone Companion, Agenda & Mail, noem het maar op. Niet iedereen gebruikt die software. Ik niet bijvoorbeeld. En als ik software niet gebruik, dan heeft het geen plaats op mijn systeem. Probleem: deze software kan niet worden verwijderd via de ‘normale weg’. Waarom is me een raadsel, maar het kan niet. Om deze apps te verwijderen, heb je de Powershell nodig. Die zit gelukkig standaard in Windows 10, maar het gebruik ervan vereist wel een beetje meer dan standaard computerkennis.

Om een app te verwijderen via Powershell, gebruik je de volgende syntax.

Get-AppxPackage *<naam van app>* | Remove-AppxPackage</naam>

Dit moet per app, dus veel tikwerk. Bovendien is de kans heel groot, dat als er een major update van Windows 10 geïnstalleerd wordt, deze apps weer vrolijk terugkomen. Dan moet je dus opnieuw al die regels intikken. Daarvoor ben ik géén IT’er geworden. Dat kan vast handiger. En inderdaad. Want met Powershell kan je ook heel goed scripten. Allereerst maar eens array maken met alle apps die we eventueel willen verwijderen via deze methode:

$RemProgramm = @("3dbuilder",  #3D Builder
                 "windowsalarms", # Clocks and Alarms
                 "windowscalculator", # Windows Calculator
                 "windowscommunicationsapps", # Calendar and Mail
                 "windowscameras", # Camera
                 "officehub", # Get Office
                 "skypeapp", # Skype
                 "getstarted", #Get Started
                 "zunemusic", #Groove Music
                 "windowsmaps", # Maps
                 "solitairecollection", #Minesweeper and Solitaire
                 "bingfinance", # Money
                 "zunevideo", #Video
                 "bingnews", # News
                 "onenote", # OneNote (Store app)
                 "people", # People
                 "windowsphone", #Phone Companion
                 ## "store", #Windows Store (best not to remove this one!)
                 "bingsports", # Sports
                 "soundrecorder", #Voice Recorder
                 "xboxapp") # Xbox

Zoals je ziet, heb ik de regel met de Windows Store voorzien van comment hashes. Ja, Windows Store kan via deze methode ook worden verwijderd. Mijn verwachting is dat bijna niemand dat zal willen, vandaar de hashes. Wil je dat wel, verwijder dan de comment hashes in het script. Nu kan je met een ForEach-loop alle programma’s in de array verwijderen:

ForEach ($Software in $RemProgramm) {
   Get-AppxPackage *$Software* | Remove-AppxPackage
}

Klaar! Alle programma’s zijn verwijderd. En toen kwam je erachter dat je Camera-app had willen houden. Die kan je terugzetten, maar dan moet je weer helemaal opnieuw beginnen met alles verwijderen.. Niet handig. Dus voegen we wat code toe:

ForEach ($Software in $RemProgramm) {
    $YourChoice = [System.Windows.Forms.MessageBox]::Show("Are you sure you want to remove [" + $Software + "] ?", "Status" , 4)
    if ($YourChoice -eq "YES") {
        Write-Host "Removing" $Software"..."
        Get-AppxPackage *$Software* | Remove-AppxPackage | out-null
    }
    $YourChoice = ""
}

Nu vraagt het script vóór iedere actie of je zeker weet dat je de app wilt verwijderen. Om dat dialoogvenster te tonen, moeten we alleen nog even zorgen dat dit ook daadwerkelijk kan; door bovenin het script de volgende regel toe te voegen:

[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | out-null

De pipe naar out-null zorgt ervoor dat er geen rare meldingen in de Powershell-console zichtbaar zijn. Het volledige script:

##
## Script: RemoveWindows10Apps
## URL: 
## Version: 0.1
## Author: Jacob Fresco
## Author Website: http://www.jacobfresco.nl
## 
 
## Use this Powershell script to remove all unwanted software in Windows 10
## that connect be uninstalled the normal way.
 
## List of software found at http://www.howtogeek.com/224798/how-to-uninstall-windows-10s-built-in-apps-and-how-to-reinstall-them/
## If you removed one too many apps with this script, please visit the webpage mentioned above on how to reinstall them. 
 
## REMOVING WINDOWS STORE IS A VALID OPTION. I DO NOT RECOMMEND YOU ACTUALLY UNINSTALL IT!
 
## This script is provided by me for illustrative purposes only which provides customers with programming information 
## regarding the products. This software is supplied "AS IS" without any warranties and support.
 
## I assume no responsibility or liability for the use of the software, conveys no license or title under any patent, 
## copyright, or mask work right to the product.
 
## I reserve0 the right to make changes in the software without notification. I also make no representation 
## or warranty that such application will be suitable for the specified use without further testing or modification.
 
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | out-null
 
$RemProgramm = @("3dbuilder",  #3D Builder
                 "windowsalarms", # Clocks and Alarms
                 "windowscalculator", # Windows Calculator
                 "windowscommunicationsapps", # Calendar and Mail
                 "windowscameras", # Camera
                 "officehub", # Get Office
                 "skypeapp", # Skype
                 "getstarted", #Get Started
                 "zunemusic", #Groove Music
                 "windowsmaps", # Maps
                 "solitairecollection", #Minesweeper and Solitaire
                 "bingfinance", # Money
                 "zunevideo", #Video
                 "bingnews", # News
                 "onenote", # OneNote (Store app)
                 "people", # People
                 "windowsphone", #Phone Companion
                 "store", #Windows Store (best not to remove this one!)
                 "bingsports", # Sports
                 "soundrecorder", #Voice Recorder
                 "xboxapp") # Xbox
 
ForEach ($Software in $RemProgramm) {
    $YourChoice = [System.Windows.Forms.MessageBox]::Show("Are you sure you want to remove [" + $Software + "] ?", "Status" , 4)
    if ($YourChoice -eq "YES") {
        Write-Host "Removing" $Software"..."
        Get-AppxPackage *$Software* | Remove-AppxPackage | out-null
    }
    $YourChoice = ""
}
 
## End of script

Mocht je er na het gebruik van dit script achter komen dat je een fout hebt gemaakt, dan kan je alle apps in één keer terugzetten, wederom middels Powershell. Zie hieronder voor de commandline:

Het restoren van de verwijderde apps (inclusief Windows Store)

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

Een gezipte versie van het script kan je hieronder downloaden:

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponShare on TumblrEmail this to someone
Jacob Fresco Geschreven door:

Techneut, van joodse afkomst, fan van Ajax, getrouwd met Claudia, papa van Lotte en Levi en lid van het erepeloton Waalsdorp