Windows apps are annoying and I would like to remove them. Been playing around with Powershell and scripting and I wanted to know if there was a way I could make Powershell to loop through all the apps and remove them.

# List of Applications that will be removed
$AppsList = "Microsoft.BingTravel","Microsoft.WindowsAlarms","Microsoft.Reader",`
ForEach ($App in $AppsList)
    $Packages = Get-AppxPackage | Where-Object {$_.Name -eq $App}
    if ($Packages -ne $null)
          foreach ($Package in $Packages)
          Remove-AppxPackage -package $Package.PackageFullName
    $ProvisionedPackage = Get-AppxProvisionedPackage -online | Where-Object {$_.displayName -eq $App}
    if ($ProvisionedPackage -ne $null)
          remove-AppxProvisionedPackage -online -packagename $ProvisionedPackage.PackageName


I am running this from MDT for image deployments as well.


2 Answers 2


To remove an application with PowerShell you need to do two actions:

  • Remove the provisioned package
  • Remove the “installed” package from the user account.

To remove the provisioned package you use the command Remove-AppxProvisionedPackage and to remove the installed package you use the command Remove-AppxPackage .

According to Microsoft, the Remove-AppxProvisionedPackage cmdlet removes app packages (.appx) from a Windows image. App packages will not be installed when new user accounts are created. Packages will not be removed from existing user accounts. To remove app packages (.appx) that are not provisioned or to remove a package for a particular user only, use Remove-AppxPackage instead.

So if you want to remove apps completely, run the following:

  • Get-AppXProvisionedPackage -online | Remove-AppxProvisionedPackage –online
  • Get-AppXPackage | Remove-AppxPackage



I ended up with the very basic but effective:

Get-AppxPackage | Remove-AppxPackage

The results:

Windows 8 Start Screen

You need to run this as a regular user and not as an administrator since many of the Windows Apps are installed on a per-user basis. If you wanted to be a little more selective about which Windows Apps you uninstalled you could just add a | ? { $_.Name -notlike "*WindowsAppIActuallyLike*" }.

  • Running from MDT would result in only the Administrator getting the clean screen, correct?
    – Jason
    Jul 8, 2014 at 16:56
  • @FrankThornton Oh that is a good question... I didn't see you were using MDT. My guess is yes, it would only effect the Administrator screen, unless you are using copyProfile in your unattend.xml used during the deployment of the image. It looks there are few different ways to do this in MDT.
    – user62491
    Jul 8, 2014 at 17:00
  • Thanks for that. I am going to read up on that. It looks like this topic is something everyone wants an answer too. And I love your Avatar by the way!
    – Jason
    Jul 8, 2014 at 17:17
  • 2
    @FrankThornton. Hey Frank. I'm going need to ask you to stay late. We have to catch that red dot.
    – user62491
    Jul 8, 2014 at 17:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.