From c531cbbd3306ac6d94587dab5091fdb461409e10 Mon Sep 17 00:00:00 2001 From: "Dylan K. Bickerstaff" Date: Thu, 18 Jul 2019 10:23:28 -0400 Subject: [PATCH] Add Remove-Win10-Apps.ps1 Adds script that will remove pre-installed appx-packages both provisioned for new users and the ones already installed for existing users. --- Desktop/Remove-Win10-Apps.ps1 | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Desktop/Remove-Win10-Apps.ps1 diff --git a/Desktop/Remove-Win10-Apps.ps1 b/Desktop/Remove-Win10-Apps.ps1 new file mode 100644 index 0000000..408c5c7 --- /dev/null +++ b/Desktop/Remove-Win10-Apps.ps1 @@ -0,0 +1,61 @@ +Write-Progress -Activity "Remove Apps" -Status "Looking for apps to remove..." -PercentComplete 0 + +$PackagesToRemove = +"Microsoft.3DBuilder", +"Microsoft.Microsoft3DViewer", +"Microsoft.BingFinance", +"Microsoft.BingNews", +"Microsoft.BingSports", +"Microsoft.BingTranslator", +"Microsoft.CommsPhone", +"Microsoft.Getstarted", +"Microsoft.Messaging", +"Microsoft.MicrosoftOfficeHub", +"Microsoft.MicrosoftSolitaireCollection", +"Microsoft.Office.OneNote", +"Microsoft.Office.Sway", +"Microsoft.SkypeApp", +"Microsoft.People", +"Microsoft.WindowsAlarms", +"Microsoft.WindowsCamera", +"Microsoft.WindowsCommunicationsApps", +"Microsoft.WindowsMaps", +"Microsoft.WindowsPhone", +"Microsoft.WindowsSoundRecorder", +"Microsoft.XboxApp", +"Microsoft.ZuneMusic", +"Microsoft.ZuneVideo", +"Microsoft.OneConnect", +"Microsoft.WindowsFeedbackHub" + +$ProvisionPackagesToRemove = @() +$AllUserPackagesToRemove = @() + +foreach($ProvisionedPackage in Get-AppxProvisionedPackage -Online) { + foreach($PackageToRemove in $PackagesToRemove) { + if($ProvisionedPackage.PackageName.Contains($PackageToRemove)) { + $ProvisionPackagesToRemove += $ProvisionedPackage + } + } +} + +foreach($AllUserPackage in Get-AppxPackage -AllUsers) { + foreach($PackageToRemove in $PackagesToRemove) { + if($AllUserPackage.PackageFullName.Contains($PackageToRemove)) { + $AllUserPackagesToRemove += $AllUserPackage + } + } +} + +$Total = $ProvisionPackagesToRemove.Count + $AllUserPackagesToRemove.Count +$Progress = 0 + +foreach($ProvisionedPackage in $ProvisionPackagesToRemove) { + Write-Progress -Activity "Remove Apps" -Status ("Removing Provisioned App: " + $ProvisionedPackage.PackageName + "...") -PercentComplete (($Progress++ / $Total) * 100) + $ProvisionedPackage | Remove-AppxProvisionedPackage -Online +} + +foreach($AllUserPackage in $AllUserPackagesToRemove) { + Write-Progress -Activity "Remove Apps" -Status ("Removing AllUsers App: " + $AllUserPackage.Name + "...") -PercentComplete (($Progress++ / $Total) * 100) + $AllUserPackage | Remove-AppxPackage -AllUsers +} \ No newline at end of file