Removing built-in Apps from Windows 10 using Powershell

When deploying Windows 10 CBB in an Enterprise some of the built-in apps will need to be removed for various reasons. I have used the excellent script that Ben Hunter wrote to do this in Windows 8/8.1 here

It removes the install .Appx packages in the list for the logged in user and the pre-provisioned package as well which means that the app is also uninstalled from the computer.

It doesn’t work anymore in Windows 10. After some investigation the reason is that the Package name is not the same for the installed Appx package as for the pre-provisioned.
Get-Appxpackage returns “microsoft.windowscommunicationsapps_17.6106.42001.0_x64__8wekyb3d8bbwe”

Get-AppxProvisionedPackage returns “microsoft.windowscommunicationsapps_2015.6106.42001.0_neutral_~_8wekyb3d8bbwe”

So I re-wrote the script to work in Windows 10, I also wrote a simple script to list all the App names that are installed on the computer so you easily can copy them to the script. It creates a file called C:\Temp\apps.txt

$Appx = Get-AppxPackage | select name
$appx | Out-File -FilePath C:\temp\Appx.txt

The updated script that will remove the packages you have in the $Applist variable and all the pre-provisioned packages. Here is the powershell script.

$AppsList = "Microsoft.BingFinance","Microsoft.BingNews","Microsoft.BingWeather","Microsoft.XboxApp","Microsoft.SkypeApp","Microsoft.MicrosoftSolitaireCollection","Microsoft.BingSports","Microsoft.ZuneMusic","Microsoft.ZuneVideo","Microsoft.Windows.Photos","Microsoft.People","Microsoft.MicrosoftOfficeHub","Microsoft.WindowsMaps","microsoft.windowscommunicationsapps","Microsoft.Getstarted","Microsoft.3DBuilder"
ForEach ($App in $AppsList)
$PackageFullName = (Get-AppxPackage $App).PackageFullName
$ProPackageFullName = (Get-AppxProvisionedPackage -online | where {$_.Displayname -eq $App}).PackageName
write-host $PackageFullName
Write-Host $ProPackageFullName
if ($PackageFullName)
Write-Host "Removing Package: $App"
remove-AppxPackage -package $PackageFullName
Write-Host "Unable to find package: $App"
if ($ProPackageFullName)
Write-Host "Removing Provisioned Package: $ProPackageFullName"
Remove-AppxProvisionedPackage -online -packagename $ProPackageFullName
Write-Host "Unable to find provisioned package: $App"

Here is a .zip file with both scripts that can be downloaded here: download


Add a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.