25

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",`
"Microsoft.WindowsScan","Microsoft.WindowsSoundRecorder","Microsoft.SkypeApp","Microsoft.BingFoodAndDrink","Microsoft.BingMaps",`
"Microsoft.HelpAndTips","Microsoft.BingFinance","Microsoft.ZuneMusic","Microsoft.Reader","Microsoft.BingNews","Microsoft.AkypeApp",`
"Microsoft.ZuneVideo","Microsoft.BingTravel","Microsoft.BingSports","Microsoft.BingWeather","Microsoft.BingHealthAndFitness",`
"Microsoft.Media.PlayReadyClient.2","Microsoft.XboxLIVEGames","Microsoft.WindowsReadingList","Microsoft.WindowsAlarms"
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
    }
}

EDIT:

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

grekasius
  • 2,046
  • 11
  • 15
Jason
  • 3,821
  • 17
  • 65
  • 106
  • Related: [How to fully uninstall a Windows Store app?](http://superuser.com/questions/533170/how-to-fully-uninstall-a-windows-store-app) – RomanSt Jul 09 '14 at 09:28

2 Answers2

21

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 08 '14 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](http://blogs.technet.com/b/deploymentguys/archive/2012/10/26/start-screen-customization-with-mdt.aspx). –  Jul 08 '14 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 08 '14 at 17:17
  • 2
    @FrankThornton. Hey Frank. I'm going need to ask you to stay late. We have to catch that red dot. –  Jul 08 '14 at 17:18
7

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

http://www.theitmuse.com/remove-windows-8-metro-apps/

vsmal
  • 490
  • 4
  • 8