WIN-023 · Script
Remove Preinstalled Consumer Apps
Finds built-in consumer apps from a configurable list and, in Remove mode, removes them for all users and from the image for new users.
What it does
Looks for Microsoft Store (Appx) packages whose package name matches the -Apps list (wildcards allowed) plus any -ExtraApps. Each match is checked in two places: packages installed for existing user profiles, and provisioned packages that Windows installs for every new user.
Report mode (default) changes nothing and lists every package it would remove. Remove mode removes matching packages for all users and, unless -SkipProvisioned is used, also removes the provisioned copy so new users do not get the app.
A built-in protected list is never removed even if it matches: the Microsoft Store, App Installer (WinGet), Windows Security, framework and runtime packages, and the Settings and shell components. Use -KeepApps to protect more. Runs silently as SYSTEM from any RMM or Intune. No prompts, no user interaction.
Requirements
Windows 10 1809 or later, Windows PowerShell 5.1, run as SYSTEM or local admin
How to run it
- Run as: SYSTEM or a local administrator
- Run from: any RMM or MDM, Intune, a Group Policy startup script, a scheduled task, or an elevated PowerShell window
- Script type: PowerShell, 64-bit
- User interaction: none; the script never prompts
- Timeout: 10 minutes (30 for Windows Update installs)
Settings
| Name | What it does | Options | Default |
|---|---|---|---|
| Mode | Report (default) = read-only. Remove = remove the matching apps. | Report, Remove | Report |
| Apps | Package name patterns to remove. Wildcards allowed. The default is a common list of games, news, Xbox, and promotional apps, for example Microsoft.BingNews, Microsoft.XboxApp, Microsoft.MicrosoftSolitaireCollection. | Microsoft.BingNews, Microsoft.BingWeather, Microsoft.BingSports, Microsoft.BingFinance, Microsoft.GamingApp, Microsoft.XboxApp, Microsoft.Xbox.TCUI, Microsoft.XboxGamingOverlay, Microsoft.XboxGameOverlay, Microsoft.XboxSpeechToTextOverlay, Microsoft.MicrosoftSolitaireCollection, Microsoft.ZuneVideo, Microsoft.People, Microsoft.GetHelp, Microsoft.Getstarted, Microsoft.MicrosoftOfficeHub, Microsoft.SkypeApp, Microsoft.WindowsFeedbackHub, Microsoft.MixedReality.Portal, Microsoft.549981C3F5F10, Microsoft.Messaging, Microsoft.OneConnect, Microsoft.Wallet, Clipchamp.Clipchamp, SpotifyAB.SpotifyMusic, king.com.*, *.CandyCrush*, *Disney*, *TikTok*, *Facebook*, *Instagram* | |
| ExtraApps | More package name patterns added to -Apps, for example Microsoft.WindowsMaps or *Netflix*. | (none) | |
| KeepApps | Package name patterns that must never be removed, even if they match -Apps. Example: Microsoft.ZuneMusic to keep Media Player. | (none) | |
| SkipProvisioned | Do not touch provisioned packages. New user profiles will still get the apps. | False |
Exit codes
- 0 = Nothing to remove, or all matches removed
- 1 = Matches found (Report), or some removals failed
- 2 = Script error
Testing steps
- Run it first with the mode set to Report on one test device. Nothing is changed in that mode.
- Read the log and confirm the planned changes are what you expect.
- Run your chosen settings on the same test target and confirm the result.
- Check the exit code: 0 = OK, 1 = needs attention, 2 = error (see log), 9 = this copy is past its Valid until date.
- Roll out to a small group next, then everyone.
Rollback steps
Reinstall a removed app from the Microsoft Store (or with winget install --id <Store ID> --source msstore). Provisioned packages that were removed come back only with a Windows feature update or by re-provisioning the app with your deployment tools.
Version and change log
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | November 2026 | First release. |