- SmartDeploy: Rethinking software deployment to remote workers in times of a pandemic - Thu, Jul 30 2020
- Outlook attachments now blocked in Office 365 - Tue, Nov 19 2019
- PolicyPak MDM Edition: Group Policy and more for BYOD - Tue, Oct 29 2019
The Windows 8 Start Screen is great but so very cluttered! Nineteen apps clog up the screen. While I am sure they have their purpose, most are not needed in an enterprise environment.
The default Windows 8 Start Screen
There are two main ways to uninstall Windows 8 apps globally. The first method is to use PowerShell. The second method is through DISM. These methods can then be combined with MDT to deploy your Windows 8 image. They can also be combined with Group Policy (specifically, logon scripts) to clean up existing Windows 8 machines.
Uninstall Windows 8 apps with PowerShell
PowerShell 3.0 has nine cmdlets to help manage Modern (.APPX) applications. Two cmdlets allow us to remove Windows 8 apps: Remove-AppxPackage and Remove-AppxProvisionedPackage. Remove-AppxPackage will remove an app for the user currently logged on. It will not remove the app from C:\Program Files\WindowsApps. Remove-AppxProvisionedPackage will remove an app from the machine (but will not remove the icons from any created user profiles).
As an example, I want to remove the Bing Sports app. To do so, I can enter Get-AppxPackage -name *Sports* | Remove-AppxPackage in PowerShell.
No more sports!
To remove all built-in packages, I can run Get-AppxPackage -name * | Remove-AppxPackage. You will get some errors as it processes; certain applications can’t be removed if another application depends on it. After a minute or so, your Start Screen should look like this:
Built-in Windows 8 apps are uninstalled
Because Internet Explorer and the Windows Store are considered core components of Windows 8, you can’t remove them on a per-user basis. You can use Group Policy to restrict access, though. For example, you can prevent users from being able to launch the Windows Store.
Remove Windows 8 apps with Group Policy
To globally remove Windows 8 apps from all existing users, you will want to use a PowerShell logon script. Either use Get-AppxPackage -name * | Remove-AppxPackage to remove all packages or use the script below to selectively remove applications.
Remove-AppxPackage -package Microsoft.Bing_1.2.0.137_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.BingFinance_1.2.0.135_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.BingNews_1.2.0.135_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.BingSports_1.2.0.135_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.BingTravel_1.2.0.145_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.BingWeather_1.2.0.135_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.Camera_6.2.8514.0_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.Media.PlayReadyClient_2.3.1662.0_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.Media.PlayReadyClient_2.3.1662.0_x86__8wekyb3d8bbwe Remove-AppxPackage -package microsoft.microsoftskydrive_16.4.4204.712_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.Reader_6.2.8516.0_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.VCLibs.110.00_11.0.50712.1_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.VCLibs.110.00_11.0.50712.1_x86__8wekyb3d8bbwe Remove-AppxPackage -package microsoft.windowscommunicationsapps_16.4.4206.722_x64__8wekyb3d8bbwe Remove-AppxPackage -package microsoft.windowsphotos_16.4.4204.712_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.WinJS.1.0_1.0.8514.0_neutral__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.XboxLIVEGames_1.0.927.0_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.ZuneMusic_1.0.927.0_x64__8wekyb3d8bbwe Remove-AppxPackage -package Microsoft.ZuneVideo_1.0.927.0_x64__8wekyb3d8bbwe
If you are not running a 64-bit operating system, or if these package names change, you can use Get-AppxPackage * | Select-Object PackageFullName to update your script.
My GPO that uninstalls all Windows 8 apps on logon
When Group Policy processes synchronously, which is the default behavior, a user can be logged on while a logon script is still running. This can cause some funny results where a user’s Start Screen is constantly rearranging itself because apps are being removed. If you wish to prevent this, you can force Group Policy to process asynchronously by enabling Always Wait for the Network at Computer Startup and Logon in Computer Configuration > System > Logon. As expected, this will slow down your logons and startups.
I tried to remove all windowsapps from 8.1 in my PC, cannot do it
tried Type the following:
Get-AppXProvisionedPackage -online | Remove-AppxProvisionedPackage -online
Get-AppXPackage | Remove-AppxPackage
apps do not seem to be in users account but still there in drive c:
I want to killo all the bloody apps and totally delete them andsend them to Mars
Hi Michel – do you get any errors messages when running those commands? Have you looked into using DISM?
Hello,
Thanks for the article.
I am trying to do the same thing but the script is running as a computer logon script. For some reason it just doesn’t work. When it runs interactively it works fine. The execution policy on the computer is set to unrestricted, but I don’t believe that should matter anyone because it is running via GPO.
Any ideas why it wouldn’t be running via the computer logon script?
Regards,
Peter
Do you mean startup script or logon script?
Sorry Joseph – Startup Script.
Hi Joseph,
I’m still struggling to get this to work.
I have created a simple startup script that creates a file in c:\ and that runs fine. So it appears the scripts are running properly. For some reason it’s just the remove-appxpackage isn’t running. Any other ideas?
I am at a loss, Peter. Was your other startup script a powershell script as well?
Yeah the other script was a powershell one too. It’s very odd. I’ve ended up doing what I needed to do manually. If I do end up coming up with the solution, i’ll be sure to post back!