Windows 10 comes with a variety of built-in apps that are accessible from the All Apps view in the Start menu. Although these apps don’t take up too much space on your computer, you might want to remove some of them just for the sake of decluttering your Start menu. Some of the
built-in apps, such as Money, News, Sports, Phone Companion, Get Skype, Get Office and Get Started, can be removed in the usual way by simply right-clicking on an app and choosing the Uninstall option. However, other apps are a bit more tricky to uninstall. Here’s how you can remove the default Windows 10 apps from your device and reinstall them, if needed. Complete list of the built-in Windows 10 apps that can be removed: Note that you cannot uninstall the most important default apps, such as Microsoft Edge, Cortana and Contact Support. If you decide to put the removed apps back into the Start menu, you can easily reinstall them
with a single PowerShell command.
Restart your machine if nothing happens – the apps should appear in your Start menu upon signing back into the system. Check out other Windows tips and tricks on our blog and follow us on Facebook, Twitter, or LinkedIn for new updates and useful how-to’s. Popular Windows tips: Learn More About FixMe.IT Since the release of Windows 10, it has been common for organization to try and reduce the footprint of built-in apps (or default apps) in their reference images, or even during bare-metal deployment. Over the years, the community has provided several solutions on how to accomplish this including myself. During this time, I’ve attempted to keep my script updated after each new release of Windows 10. Up until now though, I’ve been behind on keeping it
up-to-date, but rest assured, here’s the latest version that now supports Windows 10 version 20H2 and below. Originally, this method was developed for when creating a reference image here, as shown in the blog post below. Recently however, Windows Autopilot has increased in popularity. This script also works for when provisioning new devices using Windows Autopilot for devices to be managed with Microsoft Intune. Download scriptI’ve made the script available on our GitHub repository along with all the other scripts that we’ve shared, and it’s available on the following URL: https://github.com/MSEndpointMgr/ConfigMgr/blob/master/Operating%20System%20Deployment/Invoke-RemoveBuiltinApps.ps1 What’s new
Using the scriptAs for using the script when creating a reference image for e.g. ConfigMgr, see the following posts for implementation guidance: Remove Built-in apps when creating a Windows 10 reference image – MSEndpointMgr Remove Built-in apps for Windows 10 version 1903 – MSEndpointMgr As for Windows Autopilot and Intune, I’ve not written any posts as of yet, however the instructions are extremely simply. Create a PowerShell Script object, point towards the script and ensure it’s running in a 64-bit process in the System context, similar to the following configuration: What’s removed from the device after running this scriptAs for built-in appx provisioning packages, here’s the list of apps that will be removed:
And for the Feature on Demand V2 packages, these will be removed:
As always, you can update the $WhiteListOnDemand and $WhiteListedApps variables to include more apps, ensuring they’re kept on the device, or of course remove entries from both if you think the already added apps does not fit in your environment. Manually validate what will be removed by the scriptIn the case where you would want to adjust the whitelist defined in the script, for various reasons, use the sample script below for AppX provisioning packages that will be removed by default when running this script using the embedded list. # White list of appx packages to keep installed $WhiteListedApps = New-Object -TypeName System.Collections.ArrayList $WhiteListedApps.AddRange(@( "Microsoft.DesktopAppInstaller", "Microsoft.MSPaint", "Microsoft.Windows.Photos", "Microsoft.StorePurchaseApp", "Microsoft.CompanyPortal", "Microsoft.WindowsAlarms", "Microsoft.WindowsCalculator", "Microsoft.WindowsStore", "Microsoft.Windows.ShellExperienceHost", "Microsoft.ScreenSketch", "Microsoft.HEIFImageExtension", "Microsoft.VP9VideoExtensions", "Microsoft.WebMediaExtensions", "Microsoft.WebpImageExtension", "Microsoft.Outlook.DesktopIntegrationServicess", "Microsoft.VCLibs.140.00", "Microsoft.MicrosoftEdge.Stable" )) $AppArrayList = Get-AppxProvisionedPackage -Online | Select-Object -ExpandProperty DisplayName foreach ($App in $AppArrayList) { if (($App -notin $WhiteListedApps)) { $AppPackageName = Get-AppxPackage -Name $App | Select-Object -ExpandProperty Name -First 1 Write-Output -InputObject $AppPackageName } } As for the Feature on Demand V2 packages, you can run the following sample script to see what will be removed on the device: # White list of Features On Demand V2 packages $WhiteListOnDemand = "NetFX3|DirectX|Tools.DeveloperMode.Core|Language|InternetExplorer|ContactSupport|OneCoreUAP|WindowsMediaPlayer|Hello.Face|Notepad|MSPaint|PowerShell.ISE|ShellComponents" $OnDemandFeatures = Get-WindowsCapability -Online -LimitAccess -ErrorAction Stop | Where-Object { $_.Name -notmatch $WhiteListOnDemand -and $_.State -like "Installed" } | Select-Object -ExpandProperty Name Write-Output -InputObject $OnDemandFeatures (48113) Nickolaj AndersenChief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences such as Microsoft Ignite, NIC Conference and IT/Dev Connections including nordic user groups. |