Library / Windows endpoint

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.

Version 1.0.0Language PowerShellUpdated November 2026

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

NameWhat it doesOptionsDefault
ModeReport (default) = read-only. Remove = remove the matching apps.Report, RemoveReport
AppsPackage 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*
ExtraAppsMore package name patterns added to -Apps, for example Microsoft.WindowsMaps or *Netflix*.(none)
KeepAppsPackage name patterns that must never be removed, even if they match -Apps. Example: Microsoft.ZuneMusic to keep Media Player.(none)
SkipProvisionedDo 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

  1. Run it first with the mode set to Report on one test device. Nothing is changed in that mode.
  2. Read the log and confirm the planned changes are what you expect.
  3. Run your chosen settings on the same test target and confirm the result.
  4. Check the exit code: 0 = OK, 1 = needs attention, 2 = error (see log), 9 = this copy is past its Valid until date.
  5. 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

VersionDateChanges
1.0.0November 2026First release.