Skip to content

Configuring Windows Apps

Jesper Nielsen edited this page Mar 16, 2026 · 1 revision

Remove Windows In-box Apps and Store Apps. Manage which apps are present on Windows devices by removing provisioned and user-installed packages.

Important

Removing provisioned packages (RemoveProvisionedPackage) requires installBehavior to be set to SYSTEM. IfinstallBehavior is USER, provisioned package removal is skipped and a warning is logged. Removing installed Appx packages (Remove) works in both SYSTEM and USER context.

Overview

The windowsApps module manages Windows In-box Apps and Store Apps removal based on configuration. It handles two distinct types of app packages, including both bundle and non-bundle packages:

  • Appx packages - apps currently installed for users on the device. Removing an Appx package uninstalls the app for all users. Use the Remove property to control this behavior.
  • Appx provisioned packages - app packages staged in the Windows image that are automatically installed for new user profiles during first sign-in. Removing a provisioned package prevents the app from being reinstalled for new users. Use the RemoveProvisionedPackage property to control this behavior.

For each configured app, the module performs the following steps:

  1. Checks if the Appx package exists for all users
  2. Removes the package if marked for removal in configuration
  3. Checks for provisioned packages (affects new user profiles)
  4. Removes the provisioned package if found and marked for removal

In most deployment scenarios, both Remove and RemoveProvisionedPackage should be set to true for apps you want completely removed. Setting only Remove to true will uninstall the app for existing users, but new user profiles will still receive the app. Setting only RemoveProvisionedPackage to true will prevent future installations, but existing users will keep the app.

If an app listed in the configuration is not present on the device - either as an installed package or a provisioned package - the module logs the absence and moves on to the next app. No error is raised, making it safe to maintain a single configuration across devices with different app inventories. Non-removable app packages are also handled gracefully.

The first step is identifying which apps to remove. Use the PowerShell commands in the Reference section below to list installed and provisioned apps on your target devices.

Configuration

The following shows the windowsApps configuration structure with two example apps configured for removal.

{
  "windowsApps": {
    "enabled": true,
    "apps": [
      {
        "DisplayName": "Bing News",
        "Name": "Microsoft.BingNews",
        "Remove": true,
        "RemoveProvisionedPackage": true
      },
      {
        "DisplayName": "Bing Weather",
        "Name": "Microsoft.BingWeather",
        "Remove": true,
        "RemoveProvisionedPackage": true
      }
    ]
  }
}

Dataset properties

The following properties are supported in the windowsApps section.

Property Description Type Required
windowsApps
enabled Enable or disable the module Boolean No
apps (array)
DisplayName Friendly name of the app - used for logging and readability String Yes
Name Package name identifier used to match both Appx packages and provisioned packages. Must match the Name property from Get-AppxPackage or the DisplayName property from Get-AppxProvisionedPackage String Yes
Remove Remove the Appx package for all users on the device. When set to false, the installed app is left in place Boolean Yes
RemoveProvisionedPackage Remove the provisioned package to prevent the app from being installed for new user profiles. When set to false, the provisioned package is left in place Boolean Yes

Reference

The commands below must be run from an elevated PowerShell prompt (Run as Administrator). These commands help identify the correct Name value for each app in the configuration.

Appx packages (installed apps)

List all installed Appx packages across all users, sorted by name.

Get-AppxPackage -AllUsers | Sort-Object "Name" | Select-Object "Name", "Version", "PackageFullName" | Format-Table -AutoSize

Search for a specific app by name using a wildcard pattern.

Get-AppxPackage -AllUsers -Name "*BingNews*" | Select-Object "Name", "Version", "IsBundle", "NonRemovable"

List all installed Appx packages and export the results to a CSV file for review.

Get-AppxPackage -AllUsers | Sort-Object "Name" | Select-Object "Name", "Version", "PackageFullName" | Export-Csv -Path "$env:TEMP\AppxPackages.csv" -NoTypeInformation

Appx provisioned packages (inbox apps)

List all provisioned packages available in the Windows image.

Get-AppxProvisionedPackage -Online | Sort-Object "DisplayName" | Select-Object "DisplayName", "PackageName", "Version" | Format-Table -AutoSize

Search for a specific provisioned package by display name using a wildcard pattern.

Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -like "*BingNews*" } | Select-Object "DisplayName", "PackageName", "Version"

List all provisioned packages and export the results to a CSV file for review.

Get-AppxProvisionedPackage -Online | Sort-Object "DisplayName" | Select-Object "DisplayName", "PackageName", "Version", "PublisherId" | Export-Csv -Path "$env:TEMP\AppxProvisionedPackages.csv" -NoTypeInformation

Comparing installed and provisioned apps

To get a side-by-side view of which apps are installed and which are provisioned, use the following approach.

$installed = Get-AppxPackage -AllUsers | Select-Object "Name" -Unique | Sort-Object "Name"
$provisioned = Get-AppxProvisionedPackage -Online | Select-Object "DisplayName" | Sort-Object "DisplayName"

Write-Host "`nInstalled Appx Packages:" -ForegroundColor Cyan
$installed | Format-Table -AutoSize

Write-Host "`nProvisioned Appx Packages:" -ForegroundColor Cyan
$provisioned | Format-Table -AutoSize

Tip

The Name property from Get-AppxPackage and the DisplayName property from Get-AppxProvisionedPackage both correspond to the Name value in the Windows gecko configuration. Use either command to find the correct identifier for an app.

Related resources

For more information, see the following resources.


Page revised: March 4, 2026

Clone this wiki locally