summaryrefslogtreecommitdiff
path: root/debloat.ps1
diff options
context:
space:
mode:
authorseth <[email protected]>2024-03-06 17:12:26 -0500
committerseth <[email protected]>2024-03-06 17:12:26 -0500
commita66edb771502d36c67e50977dca20b414e767f55 (patch)
treee67ec5e85853cc2a9f1e4008714a5b43c41da8ac /debloat.ps1
parenta37c8e6da88389bf5030e1ae4ff601c29b6c2f03 (diff)
split up scripts
Diffstat (limited to 'debloat.ps1')
-rw-r--r--debloat.ps1165
1 files changed, 0 insertions, 165 deletions
diff --git a/debloat.ps1 b/debloat.ps1
deleted file mode 100644
index eaf4625..0000000
--- a/debloat.ps1
+++ /dev/null
@@ -1,165 +0,0 @@
-<#
-.SYNOPSIS
- Post-install script for "debloating" Windows
-.DESCRIPTION
- Removes default apps, disables telemetry, services, and some other annoying things
-.NOTES
- Inspired by https://gist.github.com/mikepruett3/7ca6518051383ee14f9cf8ae63ba18a7
-#>
-
-$VerbosePreference = "Continue"
-
-function Add-Key {
- param (
- [String]$Name,
- [String]$Path,
- [Microsoft.Win32.RegistryValueKind]$Type,
- [System.Object]$Value
- )
-
- Write-Verbose -Message "Adding registry key $Path\$Name"
- if (-not(Test-Path -Path $Path)) {
- Write-Verbose -Message "Creating registry path $Path"
- New-Item -Path $Path -Force
- }
- New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $Type -Force
-}
-
-function Remove-DefaultPackage {
- param (
- [String]$Name
- )
-
- Write-Verbose -Message "Removing default package $Name"
- Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like $Name} | ForEach-Object { Remove-AppxProvisionedPackage -Online -PackageName $_.PackageName}
- Write-Verbose -Message "Removing $Name from current user"
- Get-AppxPackage $Name | Remove-AppxPackage
-}
-
-
-# actual start of the script :p
-Write-Host "Starting post-install script!"
-
-
-# --- Privacy/Usability Settings ---
-# see https://learn.microsoft.com/en-us/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services
-
-## Disable Cortana and Web Search
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "AllowCortana" -Type DWord -Value 0
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "AllowSearchToUseLocation" -Type DWord -Value 0
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "DisableWebSearch" -Type DWord -Value 1
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "ConnectedSearchUseWeb" -Type DWord -Value 0
-
-## Disable OneDrive
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive" -Name "DisableFileSyncNGSC" -Type DWord -Value 1
-Add-Key -Path "HKLM:\SOFTWARE\Microsoft\OneDrive" -Name "PreventNetworkTrafficPreUserSignIn" -Type DWord -Value 1
-
-## Disable Advertising ID
-Add-Key -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" -Name "Enabled" -Type DWord -Value 0
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo" -Name "DisabledByGroupPolicy" -Type DWord -Value 1
-Add-Key -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Start_TrackProgs" -Type DWord -Value 0
-
-## Disable apps' access to some things
-$app_access = @(
- "LetAppsAccessLocation"
- "LetAppsAccessContacts"
- "LetAppsAccessCalendar"
- "LetAppsAccessCallHistory"
- "LetAppsAccessEmail"
- "LetAppsAccessMessaging"
- "LetAppsAccessPhone"
- "LetAppsAccessRadios"
- "LetAppsAccessMotion"
- "LetAppsAccessTasks"
- "LetAppsGetDiagnosticInfo"
- "LetAppsActivateWithVoice"
- "LetAppsActivateWithVoiceAboveLock"
-)
-
-foreach ($access in $app_access) {
- Add-Key "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy" -Name $access -Type DWord -Value 2
-}
-
-Add-Key "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Messaging" -Name "AllowMessageSync" -Type DWord -Value 0
-
-## Disable Feedback & diagnostics
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "DoNotShowFeedbackNotifications" -Type DWord -Value 1
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableWindowsConsumerFeatures" -Type DWord -Value 1
-Add-Key -Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableTailoredExperiencesWithDiagnosticData" -Type DWord -Value 1
-
-## Disable Inking & Typing data collection
-Add-Key -Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization" -Name "RestrictImplicitTextCollection" -Type DWord -Value 1
-Add-Key -Path "HKCU:\SOFTWARE\Microsoft\InputPersonalization" -Name "RestrictImplicitInkCollection" -Type DWord -Value 1
-
-## Disable Activity History
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Name "EnableActivityFeed" -Type DWord -Value 0
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Name "PublishUserActivities" -Type DWord -Value 0
-Add-Key -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Name "UploadUserActivities" -Type DWord -Value 0
-
-## Disable Windows Defender sample submission
-Add-Key "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Spynet" -Name "SubmitSamplesConsent" -Type DWord -Value 2
-
-## Disable News and interests
-Add-Key "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds" -Name "EnableFeeds" -Type DWord -Value 0
-
-## Disable Personalized Experiences
-Add-Key -Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableWindowsSpotlightFeatures" -Type DWord -Value 1
-Add-Key -Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableCloudOptimizedContent" -Type DWord -Value 1
-
-## Disable Copilot
-Add-Key "HKCU:\SOFTWARE\Policies\Microsoft\Windows\WindowsCopilot" -Name "TurnOffWindowsCopilot" -Type DWord -Value 1
-
-
-# --- Remove Default Packages ---
-$packages = @(
- "Microsoft.BingNews"
- "Microsoft.BingWeather"
- "Microsoft.BingFinance"
- "Microsoft.BingSports"
- "*.Twitter"
- # "Microsoft.XboxApp" # this won't break much
- # these will:
- # "Microsoft.Xbox.TCUI"
- # "Microsoft.XboxGameCallableUI"
- # "Microsoft.XboxGamingOverlay"
- # "Microsoft.XboxIdentityProvider"
- "Microsoft.Office.Sway"
- "Microsoft.Office.OneNote"
- "Microsoft.MicrosoftOfficeHub"
- "Microsoft.SkypeApp"
- "Microsoft.MicrosoftStickyNotes"
-)
-
-foreach ($pkg in $packages) {
- Remove-DefaultPackage -Name $pkg
-}
-
-
-# --- Disable Extra Services ---
-## sourced from https://github.com/ChrisTitusTech/winutil
-$services = @(
- "AJRouter"
- "Browser"
- "BthAvctpSvc"
- "diagnosticshub.standardcollector.service"
- "DiagTrack"
- "Fax"
- "fhsvc"
- "lmhosts"
- "PhoneSvc"
- "RemoteAccess"
- "RemoteRegistry"
- "RetailDemo"
- # "wisvc" # Windows Insider, uncomment if you'll never use it
- "WMPNetworkSvc"
- "WPDBusEnum"
-)
-
-foreach ($service in $services) {
- Write-Verbose -Message "Disabling $service"
- Get-Service -Name $service -ErrorAction SilentlyContinue | Set-Service -StartupType Manual -ErrorAction SilentlyContinue
-}
-
-
-Write-Host "Done!"