|
@@ -3,29 +3,30 @@
|
|
|
|
|
|
#This is the switch parameter for running this script as a 'silent' script, for use in MDT images or any type of mass deployment without user interaction.
|
|
|
|
|
|
+$ErrorActionPreference = 'SilentlyContinue'
|
|
|
+
|
|
|
param (
|
|
|
[switch]$Debloat, [switch]$SysPrep, [switch]$StopEdgePDF, [Switch]$Privacy
|
|
|
)
|
|
|
-$ErrorActionPreference = 'SilentlyContinue'
|
|
|
+
|
|
|
|
|
|
#This will run get-appxpackage | remove-appxpackage which is required for sysprep to provision the apps.
|
|
|
Function Begin-SysPrep {
|
|
|
|
|
|
param([switch]$SysPrep)
|
|
|
- IF ($SysPrep) {
|
|
|
Write-Verbose -Message ('Starting Sysprep Fixes')
|
|
|
Write-Verbose -Message ('Removing AppXPackages for current user')
|
|
|
- get-appxpackage | remove-appxpackage -ErrorAction SilentlyContinue
|
|
|
- Remove-AppxPackagesForSysprep -ErrorAction SilentlyContinue
|
|
|
+ get-appxpackage | remove-appxpackage
|
|
|
+
|
|
|
# Disable Windows Store Automatic Updates
|
|
|
Write-Verbose -Message "Adding Registry key to Disable Windows Store Automatic Updates"
|
|
|
$registryPath = "HKLM:\SOFTWARE\Policies\Microsoft\WindowsStore"
|
|
|
If (!(Test-Path $registryPath)) {
|
|
|
Mkdir $registryPath -ErrorAction SilentlyContinue
|
|
|
- New-ItemProperty $registryPath -Name AutoDownload -Value 2 -ErrorAction SilentlyContinue
|
|
|
+ New-ItemProperty $registryPath -Name AutoDownload -Value 2
|
|
|
}
|
|
|
Else {
|
|
|
- Set-ItemProperty $registryPath -Name AutoDownload -Value 2 -ErrorAction SilentlyContinue
|
|
|
+ Set-ItemProperty $registryPath -Name AutoDownload -Value 2
|
|
|
}
|
|
|
# Disable Microsoft Consumer Experience
|
|
|
Write-Verbose -Message "Adding Registry key to prevent bloatware apps from returning"
|
|
@@ -33,10 +34,10 @@ Function Begin-SysPrep {
|
|
|
$registryPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent"
|
|
|
If (!(Test-Path $registryPath)) {
|
|
|
Mkdir $registryPath -ErrorAction SilentlyContinue
|
|
|
- New-ItemProperty $registryPath -Name DisableWindowsConsumerFeatures -Value 1 -ErrorAction SilentlyContinue
|
|
|
+ New-ItemProperty $registryPath -Name DisableWindowsConsumerFeatures -Value 1
|
|
|
}
|
|
|
Else {
|
|
|
- Set-ItemProperty $registryPath -Name DisableWindowsConsumerFeatures -Value 1 -ErrorAction SilentlyContinue
|
|
|
+ Set-ItemProperty $registryPath -Name DisableWindowsConsumerFeatures -Value 1
|
|
|
}
|
|
|
#Stop WindowsStore Installer Service and set to Disabled
|
|
|
Write-Verbose -Message ('Stopping InstallService')
|
|
@@ -54,7 +55,7 @@ Function Start-Debloat {
|
|
|
#Removes AppxPackages
|
|
|
#Credit to Reddit user /u/GavinEke for a modified version of my whitelist code
|
|
|
Write-Verbose -Message ('Starting Debloat')
|
|
|
- [regex]$WhitelistedApps = 'Microsoft.Paint3D|Microsoft.WindowsCalculator|Microsoft.WindowsStore|Microsoft.Windows.Photos|CanonicalGroupLimited.UbuntuonWindows'
|
|
|
+ [regex]$WhitelistedApps = 'Microsoft.Paint3D|Microsoft.MSPaint|Microsoft.WindowsCalculator|Microsoft.WindowsStore|Microsoft.Windows.Photos|CanonicalGroupLimited.UbuntuonWindows'
|
|
|
Get-AppxPackage -AllUsers | Where-Object {$_.Name -NotMatch $WhitelistedApps} | Remove-AppxPackage -ErrorAction SilentlyContinue
|
|
|
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -NotMatch $WhitelistedApps} | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
|
|
|
|
|
@@ -253,10 +254,11 @@ Function FixWhitelistedApps {
|
|
|
Param([switch]$Debloat, [switch]$SysPrep)
|
|
|
|
|
|
Write-Verbose -Message ('Starting Fix Whitelisted Apps')
|
|
|
- If (!(Get-AppxPackage -AllUsers | Select Microsoft.Paint3D, Microsoft.WindowsCalculator, Microsoft.WindowsStore, Microsoft.Windows.Photos)) {
|
|
|
+ If (!(Get-AppxPackage -AllUsers | Select Microsoft.Paint3D, Microsoft.MSPaint, Microsoft.WindowsCalculator, Microsoft.WindowsStore, Microsoft.Windows.Photos)) {
|
|
|
|
|
|
#Credit to abulgatz for the 4 lines of code
|
|
|
Get-AppxPackage -allusers Microsoft.Paint3D | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
|
|
|
+ Get-AppxPackage -allusers Microsoft.MSPaint | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
|
|
|
Get-AppxPackage -allusers Microsoft.WindowsCalculator | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
|
|
|
Get-AppxPackage -allusers Microsoft.WindowsStore | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
|
|
|
Get-AppxPackage -allusers Microsoft.Windows.Photos | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
|