Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
    

2 Answers 2

up vote 6 down vote accepted

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/

share|improve this answer

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*" }.

share|improve this answer
    
Running from MDT would result in only the Administrator getting the clean screen, correct? –  Frank Thornton Jul 8 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. –  kce Jul 8 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! –  Frank Thornton Jul 8 at 17:17
2  
@FrankThornton. Hey Frank. I'm going need to ask you to stay late. We have to catch that red dot. –  kce Jul 8 at 17:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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