When deploying Windows 10 1607/1703/1709 you might want to remove some of the included UWP apps to help speed up the log in process, save storage space, bandwidth etc. There’s a few different ways you can do this. This post will also cover how to remove UWP apps for the current logged on user.

Obtaining a List of UWP Apps

The best way to do this is to build a clean Windows 10 1607/1703/1709 image and then run the following PowerShell command:

Get-AppxProvisionedPackage -Online Select Displayname

This will display a list of all the apps currently provisioned – apps that will be installed for new users. Personally I don’t remove all of them for my images, but ultimately, it’s up to you and what’s right for your environment.

Here’s a list of the provisioned apps in Windows 10 1709 as of 20/01/2017:

"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",
"Microsoft.GetHelp",
"Microsoft.Messaging",
"Microsoft.Microsoft3DViewer",
"Microsoft.StickyNotes",
"Microsoft.WindowsFeedbackHub",
"Microsoft.Xbox.TCUI",
"Microsoft.XboxGameOverlay",
"Microsoft.XboxIdentityProvider",
"Microsoft.XboxSpeechToTextOverlay",
"Microsoft.XboxIdentityProvider",
"Microsoft.XboxGameCallableUI",
"Microsoft.WindowsMaps",
"Microsoft.MicrosoftOfficeHub",
"Microsoft.Office.OneNote",
"Microsoft.ZuneMusic",
"AdobeSystemsIncorporated.AdobePhotoshopExpress",
"D5EA27B7.Duolingo-LearnLanguagesforFree",
"Microsoft.BingTranslator",
"Microsoft.BingNews",
"Microsoft.NetworkSpeedTest",
"Microsoft.Office.Sway",
"Microsoft.XboxGameCallableUI",
"46928bounde.EclipseManager",
"ActiproSoftwareLLC.562882FEEB491",
"Microsoft.3DBuilder",
"Microsoft.Appconnector",
"Microsoft.BingFinance",
"Microsoft.BingNews",
"Microsoft.BingSports",
"Microsoft.BingWeather",
"Microsoft.Getstarted",
"Microsoft.MicrosoftOfficeHub",
"Microsoft.MicrosoftSolitaireCollection",
"Microsoft.Office.OneNote",
"Microsoft.People",
"Microsoft.SkypeApp",
"Microsoft.WindowsAlarms",
"Microsoft.WindowsCamera",
"Microsoft.WindowsMaps",
"Microsoft.WindowsPhone",
"Microsoft.WindowsSoundRecorder",
"Microsoft.XboxApp",
"Microsoft.ZuneMusic",
"Microsoft.ZuneVideo",
"microsoft.windowscommunicationsapps",
"Microsoft.MinecraftUWP",
"Microsoft.MicrosoftPowerBIForWindows",
"Microsoft.NetworkSpeedTest",
"Microsoft.Print3D",
"PandoraMediaInc.29680B314EFC2"

To get a list of installed UWP apps for the current user, you should use this PowerShell command:

Get-AppxPackage Select Name

The script below will remove all appx packages and online provisioned appx packages:

try

{

$tsenv = New-Object -COMObject Microsoft.SMS.TSEnvironment

$logPath = $tsenv.Value(“LogPath”)

}

catch

{

Write-Host “This script is not running in a task sequence”

$logPath = $env:windir + “\temp”

}

$logFile = “$logPath\$($myInvocation.MyCommand).log”

Start logging

Start-Transcript $logFile

Write-Host “Logging to $logFile”

List of Applications that will be removed

$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”, “Microsoft.GetHelp”, “Microsoft.Messaging”, “Microsoft.Microsoft3DViewer”, “Microsoft.StickyNotes”, “Microsoft.WindowsFeedbackHub”, “Microsoft.Xbox.TCUI”, “Microsoft.XboxGameOverlay”, “Microsoft.XboxIdentityProvider”, “Microsoft.XboxSpeechToTextOverlay”, “Microsoft.XboxIdentityProvider”, “Microsoft.XboxGameCallableUI”, “Microsoft.WindowsMaps”, “Microsoft.MicrosoftOfficeHub”, “Microsoft.Office.OneNote”, “Microsoft.ZuneMusic”, “AdobeSystemsIncorporated.AdobePhotoshopExpress”, “D5EA27B7.Duolingo-LearnLanguagesforFree”, “Microsoft.BingTranslator”, “Microsoft.BingNews”, “Microsoft.NetworkSpeedTest”, “Microsoft.Office.Sway”, “Microsoft.XboxGameCallableUI”, “46928bounde.EclipseManager”, “ActiproSoftwareLLC.562882FEEB491”, “Microsoft.3DBuilder”, “Microsoft.Appconnector”, “Microsoft.BingFinance”, “Microsoft.BingNews”, “Microsoft.BingSports”, “Microsoft.BingWeather”, “Microsoft.Getstarted”, “Microsoft.MicrosoftOfficeHub”, “Microsoft.MicrosoftSolitaireCollection”, “Microsoft.Office.OneNote”, “Microsoft.People”, “Microsoft.SkypeApp”, “Microsoft.WindowsAlarms”, “Microsoft.WindowsCamera”, “Microsoft.WindowsMaps”, “Microsoft.WindowsPhone”, “Microsoft.WindowsSoundRecorder”, “Microsoft.XboxApp”, “Microsoft.ZuneMusic”, “Microsoft.ZuneVideo”, “microsoft.windowscommunicationsapps”, “Microsoft.MinecraftUWP”, “Microsoft.MicrosoftPowerBIForWindows”, “Microsoft.NetworkSpeedTest”, “Microsoft.Print3D”, “PandoraMediaInc.29680B314EFC2”

ForEach ($App in $AppsList){

$Packages = Get-AppxPackage Where-Object {$_.Name -eq $App}

if ($Packages -ne $null)

{

Write-Host “Removing Appx Package: $App”

foreach ($Package in $Packages)

{

Remove-AppxPackage -package $Package.PackageFullName

}

}

else

{

Write-Host “Unable to find package: $App”

}

$ProvisionedPackage = Get-AppxProvisionedPackage -online Where-Object {$_.displayName -eq $App}

if ($ProvisionedPackage -ne $null)

{

Write-Host “Removing Appx Provisioned Package: $App”

remove-AppxProvisionedPackage -online -packagename $ProvisionedPackage.PackageName

}

else

{

Write-Host “Unable to find provisioned package: $App”

}

}

#Remove Reg Keys $Keys =

    #Remove Background Tasks
    "HKCR:\\Extensions\\ContractId\\Windows.BackgroundTasks\\PackageId\\46928bounde.EclipseManager\_2.2.4.51\_neutral\_\_a5h4egax66k6y",
    "HKCR:\\Extensions\\ContractId\\Windows.BackgroundTasks\\PackageId\\ActiproSoftwareLLC.562882FEEB491\_2.6.18.18\_neutral\_\_24pqs290vpjk0",
    "HKCR:\\Extensions\\ContractId\\Windows.BackgroundTasks\\PackageId\\Microsoft.MicrosoftOfficeHub\_17.7909.7600.0\_x64\_\_8wekyb3d8bbwe",
    "HKCR:\\Extensions\\ContractId\\Windows.BackgroundTasks\\PackageId\\Microsoft.PPIProjection\_10.0.15063.0\_neutral\_neutral\_cw5n1h2txyewy",
    "HKCR:\\Extensions\\ContractId\\Windows.BackgroundTasks\\PackageId\\Microsoft.XboxGameCallableUI\_1000.15063.0.0\_neutral\_neutral\_cw5n1h2txyewy",
    "HKCR:\\Extensions\\ContractId\\Windows.BackgroundTasks\\PackageId\\Microsoft.XboxGameCallableUI\_1000.16299.15.0\_neutral\_neutral\_cw5n1h2txyewy",
        
    #Windows File
    "HKCR:\\Extensions\\ContractId\\Windows.File\\PackageId\\ActiproSoftwareLLC.562882FEEB491\_2.6.18.18\_neutral\_\_24pqs290vpjk0",
        
    #Registry keys to delete if they aren't uninstalled by RemoveAppXPackage/RemoveAppXProvisionedPackage
    "HKCR:\\Extensions\\ContractId\\Windows.Launch\\PackageId\\46928bounde.EclipseManager\_2.2.4.51\_neutral\_\_a5h4egax66k6y",
    "HKCR:\\Extensions\\ContractId\\Windows.Launch\\PackageId\\ActiproSoftwareLLC.562882FEEB491\_2.6.18.18\_neutral\_\_24pqs290vpjk0",
    "HKCR:\\Extensions\\ContractId\\Windows.Launch\\PackageId\\Microsoft.PPIProjection\_10.0.15063.0\_neutral\_neutral\_cw5n1h2txyewy",
    "HKCR:\\Extensions\\ContractId\\Windows.Launch\\PackageId\\Microsoft.XboxGameCallableUI\_1000.15063.0.0\_neutral\_neutral\_cw5n1h2txyewy",
    "HKCR:\\Extensions\\ContractId\\Windows.Launch\\PackageId\\Microsoft.XboxGameCallableUI\_1000.16299.15.0\_neutral\_neutral\_cw5n1h2txyewy",
        
    #Scheduled Tasks to delete
    "HKCR:\\Extensions\\ContractId\\Windows.PreInstalledConfigTask\\PackageId\\Microsoft.MicrosoftOfficeHub\_17.7909.7600.0\_x64\_\_8wekyb3d8bbwe",
        
    #Windows Protocol Keys
    "HKCR:\\Extensions\\ContractId\\Windows.Protocol\\PackageId\\ActiproSoftwareLLC.562882FEEB491\_2.6.18.18\_neutral\_\_24pqs290vpjk0",
    "HKCR:\\Extensions\\ContractId\\Windows.Protocol\\PackageId\\Microsoft.PPIProjection\_10.0.15063.0\_neutral\_neutral\_cw5n1h2txyewy",
    "HKCR:\\Extensions\\ContractId\\Windows.Protocol\\PackageId\\Microsoft.XboxGameCallableUI\_1000.15063.0.0\_neutral\_neutral\_cw5n1h2txyewy",
    "HKCR:\\Extensions\\ContractId\\Windows.Protocol\\PackageId\\Microsoft.XboxGameCallableUI\_1000.16299.15.0\_neutral\_neutral\_cw5n1h2txyewy",
           
    #Windows Share Target
    "HKCR:\\Extensions\\ContractId\\Windows.ShareTarget\\PackageId\\ActiproSoftwareLLC.562882FEEB491\_2.6.18.18\_neutral\_\_24pqs290vpjk0"

    
#This writes the output of each key it is removing and also removes the keys listed above.
ForEach ($Key in $Keys) {
    Write-Output "Removing $Key from registry"
    Remove-Item $Key -Recurse -ErrorAction SilentlyContinue

}

Stop logging

Stop-Transcript

Get-AppxPackage | select name