From 3c9dee4337674000a53a3830a6415b91ff2f8aa7 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 30 Jul 2020 09:51:07 -0600 Subject: [PATCH 1/3] Update Invoke-RemoveBuiltinApps.ps1 --- Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 b/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 index ce6bb95..0222346 100644 --- a/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 +++ b/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 @@ -27,7 +27,7 @@ #> Begin { # White list of Features On Demand V2 packages - $WhiteListOnDemand = "NetFX3|Tools.Graphics.DirectX|Tools.DeveloperMode.Core|Language|Browser.InternetExplorer|ContactSupport|OneCoreUAP|Media.WindowsMediaPlayer|Hello.Face" + $WhiteListOnDemand = "NetFX3|Tools.Graphics.DirectX|Tools.DeveloperMode.Core|Language|Browser.InternetExplorer|ContactSupport|OneCoreUAP|Media.WindowsMediaPlayer|Hello.Face|Microsoft.Windows.Notepad|Microsoft.Windows.ISE|Microsoft.Windows.Wordpad|Windows.Client.ShellComponents" # White list of appx packages to keep installed $WhiteListedApps = New-Object -TypeName System.Collections.ArrayList @@ -169,4 +169,4 @@ Process { # Complete Write-LogEntry -Value "Completed built-in AppxPackage, AppxProvisioningPackage and Feature on Demand V2 removal process" -} \ No newline at end of file +} From 3c0f82fa12cb65d859572a722a42a41545c0089e Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 30 Jul 2020 09:51:23 -0600 Subject: [PATCH 2/3] Update Invoke-RemoveBuiltinApps.ps1 --- Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 b/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 index 0222346..0944510 100644 --- a/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 +++ b/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 @@ -27,7 +27,7 @@ #> Begin { # White list of Features On Demand V2 packages - $WhiteListOnDemand = "NetFX3|Tools.Graphics.DirectX|Tools.DeveloperMode.Core|Language|Browser.InternetExplorer|ContactSupport|OneCoreUAP|Media.WindowsMediaPlayer|Hello.Face|Microsoft.Windows.Notepad|Microsoft.Windows.ISE|Microsoft.Windows.Wordpad|Windows.Client.ShellComponents" + $WhiteListOnDemand = "NetFX3|Tools.Graphics.DirectX|Tools.DeveloperMode.Core|Language|Browser.InternetExplorer|ContactSupport|OneCoreUAP|Media.WindowsMediaPlayer|Hello.Face|Microsoft.Windows.Notepad|Microsoft.Windows.ISE|Microsoft.Windows.Wordpad|Windows.Client.ShellComponents" # White list of appx packages to keep installed $WhiteListedApps = New-Object -TypeName System.Collections.ArrayList From 9f55bac1dc51e8d2524379ae14ad33728a01c919 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 30 Jul 2020 10:55:29 -0600 Subject: [PATCH 3/3] Update Invoke-RemoveBuiltinApps.ps1 Updated whitelistOnDemand to keep some commonly used tools. $null on left: https://stackoverflow.com/questions/58217913/should-null-be-on-the-left-side-of-the-equality-comparison-eq-with-arrays --- .../Invoke-RemoveBuiltinApps.ps1 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 b/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 index 0944510..3483abe 100644 --- a/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 +++ b/Operating System Deployment/Invoke-RemoveBuiltinApps.ps1 @@ -27,23 +27,23 @@ #> Begin { # White list of Features On Demand V2 packages - $WhiteListOnDemand = "NetFX3|Tools.Graphics.DirectX|Tools.DeveloperMode.Core|Language|Browser.InternetExplorer|ContactSupport|OneCoreUAP|Media.WindowsMediaPlayer|Hello.Face|Microsoft.Windows.Notepad|Microsoft.Windows.ISE|Microsoft.Windows.Wordpad|Windows.Client.ShellComponents" + $WhiteListOnDemand = "NetFX3|Tools.Graphics.DirectX|Tools.DeveloperMode.Core|Language|Browser.InternetExplorer|ContactSupport|OneCoreUAP|Media.WindowsMediaPlayer|Hello.Face|Microsoft.Windows.Notepad|Microsoft.Windows.ISE|Microsoft.Windows.WordPad|Microsoft.Windows.MSPaint|Microsoft.Windows.PowerShell.ISE|App.StepsRecorder|Windows.Client.ShellComponents|DirectX.Configuration.Database" # White list of appx packages to keep installed $WhiteListedApps = New-Object -TypeName System.Collections.ArrayList $WhiteListedApps.AddRange(@( "Microsoft.DesktopAppInstaller", "Microsoft.Office.OneNote", - "Microsoft.Messaging", + "Microsoft.Messaging", "Microsoft.MSPaint", "Microsoft.Windows.Photos", "Microsoft.StorePurchaseApp", "Microsoft.MicrosoftOfficeHub", "Microsoft.MicrosoftStickyNotes", "Microsoft.WindowsAlarms", - "Microsoft.WindowsCalculator", + "Microsoft.WindowsCalculator", "Microsoft.WindowsCommunicationsApps", # Mail, Calendar etc - "Microsoft.WindowsSoundRecorder", + "Microsoft.WindowsSoundRecorder", "Microsoft.WindowsStore" )) @@ -103,7 +103,7 @@ Process { $AppProvisioningPackageName = Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -like $App } | Select-Object -ExpandProperty PackageName -First 1 # Attempt to remove AppxPackage - if ($AppPackageFullName -ne $null) { + if ($null -ne $AppPackageFullName) { try { Write-LogEntry -Value "Removing AppxPackage: $($AppPackageFullName)" Remove-AppxPackage -Package $AppPackageFullName -ErrorAction Stop | Out-Null @@ -117,7 +117,7 @@ Process { } # Attempt to remove AppxProvisioningPackage - if ($AppProvisioningPackageName -ne $null) { + if ($null -ne $AppProvisioningPackageName) { try { Write-LogEntry -Value "Removing AppxProvisioningPackage: $($AppProvisioningPackageName)" Remove-AppxProvisionedPackage -PackageName $AppProvisioningPackageName -Online -ErrorAction Stop | Out-Null @@ -161,7 +161,7 @@ Process { catch [System.Exception] { Write-LogEntry -Value "Removing Feature on Demand V2 package failed: $($_.Exception.Message)" } - } + } } catch [System.Exception] { Write-LogEntry -Value "Attempting to list Feature on Demand V2 packages failed: $($_.Exception.Message)"