@echo off :: Powered by https://privacy.sexy :: Ensure admin privileges fltmc >nul 2>&1 || ( echo Administrator privileges are required. PowerShell Start -Verb RunAs '%0' 2> nul || ( echo Right-click on the script and select "Run as administrator". exit 1 ) exit 0 ) :: ---------------------------------------------------------- :: ----Disable Customer Experience Improvement (CEIP/SQM)---- :: ---------------------------------------------------------- echo --- Disable Customer Experience Improvement (CEIP/SQM) reg add "HKLM\Software\Policies\Microsoft\SQMClient\Windows" /v "CEIPEnable" /t REG_DWORD /d "0" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Disable Application Impact Telemetry (AIT)-------- :: ---------------------------------------------------------- echo --- Disable Application Impact Telemetry (AIT) reg add "HKLM\Software\Policies\Microsoft\Windows\AppCompat" /v "AITEnable" /t REG_DWORD /d "0" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----Disable Customer Experience Improvement Program------ :: ---------------------------------------------------------- echo --- Disable Customer Experience Improvement Program schtasks /change /TN "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /DISABLE schtasks /change /TN "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /DISABLE schtasks /change /TN "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /DISABLE :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------Disable telemetry in data collection policy-------- :: ---------------------------------------------------------- echo --- Disable telemetry in data collection policy reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v "AllowTelemetry" /d 0 /t REG_DWORD /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v "LimitEnhancedDiagnosticDataWindowsAnalytics" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Disable license telemetry----------------- :: ---------------------------------------------------------- echo --- Disable license telemetry reg add "HKLM\Software\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /v "NoGenTicket" /t "REG_DWORD" /d "1" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Disable error reporting------------------ :: ---------------------------------------------------------- echo --- Disable error reporting :: Disable Windows Error Reporting (WER) reg add "HKLM\Software\Policies\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d "1" /f reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t "REG_DWORD" /d "1" /f :: DefaultConsent / 1 - Always ask (default) / 2 - Parameters only / 3 - Parameters and safe data / 4 - All data reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\Consent" /v "DefaultConsent" /t REG_DWORD /d "0" /f reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\Consent" /v "DefaultOverrideBehavior" /t REG_DWORD /d "1" /f :: Disable WER sending second-level data reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting" /v "DontSendAdditionalData" /t REG_DWORD /d "1" /f :: Disable WER crash dialogs, popups reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting" /v "LoggingDisabled" /t REG_DWORD /d "1" /f schtasks /Change /TN "Microsoft\Windows\ErrorDetails\EnableErrorDetailsUpdate" /Disable schtasks /Change /TN "Microsoft\Windows\Windows Error Reporting\QueueReporting" /Disable PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'wersvc'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'wercplsupport'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -Disable connected user experiences and telemetry service- :: ---------------------------------------------------------- echo --- Disable connected user experiences and telemetry service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'DiagTrack'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------Disable WAP push message routing service--------- :: ---------------------------------------------------------- echo --- Disable WAP push message routing service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'dmwappushservice'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----Disable diagnostics hub standard collector service---- :: ---------------------------------------------------------- echo --- Disable diagnostics hub standard collector service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'diagnosticshub.standardcollector.service'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Disable diagnostic execution service----------- :: ---------------------------------------------------------- echo --- Disable diagnostic execution service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'diagsvc'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Disable devicecensus.exe (telemetry) task--------- :: ---------------------------------------------------------- echo --- Disable devicecensus.exe (telemetry) task schtasks /change /TN "Microsoft\Windows\Device Information\Device" /disable :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------Disable devicecensus.exe (telemetry) process------- :: ---------------------------------------------------------- echo --- Disable devicecensus.exe (telemetry) process reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\'DeviceCensus.exe'" /v "Debugger" /t REG_SZ /d "%windir%\System32\taskkill.exe" /f :: ---------------------------------------------------------- :: Disable sending information to Customer Experience Improvement Program echo --- Disable sending information to Customer Experience Improvement Program schtasks /change /TN "Microsoft\Windows\Application Experience\ProgramDataUpdater" /disable :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----Disable Application Impact Telemetry Agent task------ :: ---------------------------------------------------------- echo --- Disable Application Impact Telemetry Agent task schtasks /change /TN "Microsoft\Windows\Application Experience\AitAgent" /disable :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --Disable "Disable apps to improve performance" reminder-- :: ---------------------------------------------------------- echo --- Disable "Disable apps to improve performance" reminder schtasks /change /TN "Microsoft\Windows\Application Experience\StartupAppTask" /disable :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Disable Microsoft Compatibility Appraiser task------ :: ---------------------------------------------------------- echo --- Disable Microsoft Compatibility Appraiser task schtasks /change /TN "Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /disable :: ---------------------------------------------------------- :: Disable CompatTelRunner.exe (Microsoft Compatibility Appraiser) process echo --- Disable CompatTelRunner.exe (Microsoft Compatibility Appraiser) process reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\'CompatTelRunner.exe'" /v "Debugger" /t REG_SZ /d "%windir%\System32\taskkill.exe" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Do not allow the use of biometrics------------ :: ---------------------------------------------------------- echo --- Do not allow the use of biometrics reg add "HKLM\SOFTWARE\Policies\Microsoft\Biometrics" /v "Enabled" /t REG_DWORD /d "0" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Do not allow users to log on using biometrics------- :: ---------------------------------------------------------- echo --- Do not allow users to log on using biometrics reg add "HKLM\SOFTWARE\Policies\Microsoft\Biometrics\Credential Provider" /v "Enabled" /t "REG_DWORD" /d "0" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Disable Windows Biometric Service------------- :: ---------------------------------------------------------- echo --- Disable Windows Biometric Service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'WbioSrvc'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Disable Windows Insider Service-------------- :: ---------------------------------------------------------- echo --- Disable Windows Insider Service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'wisvc'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----Do not let Microsoft try features on this build------ :: ---------------------------------------------------------- echo --- Do not let Microsoft try features on this build reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\PreviewBuilds" /v "EnableExperimentation" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\PreviewBuilds" /v "EnableConfigFlighting" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\PolicyManager\default\System\AllowExperimentation" /v "value" /t "REG_DWORD" /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Disable getting preview builds of Windows--------- :: ---------------------------------------------------------- echo --- Disable getting preview builds of Windows reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\PreviewBuilds" /v "AllowBuildPreview" /t REG_DWORD /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Remove "Windows Insider Program" from Settings------ :: ---------------------------------------------------------- echo --- Remove "Windows Insider Program" from Settings reg add "HKLM\SOFTWARE\Microsoft\WindowsSelfHost\UI\Visibility" /v "HideInsiderPage" /t "REG_DWORD" /d "1" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Disable Windows feedback----------------- :: ---------------------------------------------------------- echo --- Disable Windows feedback reg add "HKCU\SOFTWARE\Microsoft\Siuf\Rules" /v "NumberOfSIUFInPeriod" /t REG_DWORD /d 0 /f reg delete "HKCU\SOFTWARE\Microsoft\Siuf\Rules" /v "PeriodInNanoSeconds" /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v "DoNotShowFeedbackNotifications" /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v "DoNotShowFeedbackNotifications" /t REG_DWORD /d 1 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----Disable active probing (pings to MSFT NCSI server)---- :: ---------------------------------------------------------- echo --- Disable active probing (pings to MSFT NCSI server) reg add "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v "EnableActiveProbing" /t REG_DWORD /d "0" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Opt out from Windows privacy consent----------- :: ---------------------------------------------------------- echo --- Opt out from Windows privacy consent reg add "HKCU\SOFTWARE\Microsoft\Personalization\Settings" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----Disable feedback on write (sending typing info)------ :: ---------------------------------------------------------- echo --- Disable feedback on write (sending typing info) reg add "HKLM\SOFTWARE\Microsoft\Input\TIPC" /v "Enabled" /t REG_DWORD /d 0 /f reg add "HKCU\SOFTWARE\Microsoft\Input\TIPC" /v "Enabled" /t REG_DWORD /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Disable Activity Feed------------------- :: ---------------------------------------------------------- echo --- Disable Activity Feed reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v "EnableActivityFeed" /d "0" /t REG_DWORD /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -Clear all Opera data (user profiles, settings, and data)- :: ---------------------------------------------------------- echo --- Clear all Opera data (user profiles, settings, and data) :: Windows XP rd /s /q "%USERPROFILE%\Local Settings\Application Data\Opera\Opera" :: Windows Vista and later rd /s /q "%localappdata%\Opera\Opera" rd /s /q "%APPDATA%\Opera\Opera" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------Clear Internet Explorer caches-------------- :: ---------------------------------------------------------- echo --- Clear Internet Explorer caches del /f /q "%localappdata%\Microsoft\Windows\INetCache\IE\*" rd /s /q "%localappdata%\Microsoft\Windows\WebCache" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Clear Internet Explorer recent URLs------------ :: ---------------------------------------------------------- echo --- Clear Internet Explorer recent URLs reg delete "HKCU\SOFTWARE\Microsoft\Internet Explorer\TypedURLs" /va /f reg delete "HKCU\SOFTWARE\Microsoft\Internet Explorer\TypedURLsTime" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Clear Temporary Internet Files (browser cache)------ :: ---------------------------------------------------------- echo --- Clear Temporary Internet Files (browser cache) :: Windows XP rd /s /q %userprofile%\Local Settings\Temporary Internet Files :: Windows 7 rd /s /q "%localappdata%\Microsoft\Windows\Temporary Internet Files" takeown /f "%localappdata%\Temporary Internet Files" /r /d y icacls "%localappdata%\Temporary Internet Files" /grant administrators:F /t rd /s /q "%localappdata%\Temporary Internet Files" :: Windows 8 and above rd /s /q "%localappdata%\Microsoft\Windows\INetCache" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Clear Internet Explorer Feeds Cache------------ :: ---------------------------------------------------------- echo --- Clear Internet Explorer Feeds Cache rd /s /q "%localappdata%\Microsoft\Feeds Cache" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Clear Internet Explorer cookies-------------- :: ---------------------------------------------------------- echo --- Clear Internet Explorer cookies :: Windows 7 browsers rd /s /q "%APPDATA%\Microsoft\Windows\Cookies" :: Windows 8 and higher rd /s /q "%localappdata%\Microsoft\Windows\INetCookies" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Clear Internet Explorer DOMStore------------- :: ---------------------------------------------------------- echo --- Clear Internet Explorer DOMStore rd /s /q "%localappdata%\Microsoft\InternetExplorer\DOMStore" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------Clear all Internet Explorer user data----------- :: ---------------------------------------------------------- echo --- Clear all Internet Explorer user data rd /s /q "%localappdata%\Microsoft\Internet Explorer" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Clear Google Chrome crash reports------------- :: ---------------------------------------------------------- echo --- Clear Google Chrome crash reports rd /s /q "%localappdata%\Google\Chrome\User Data\Crashpad\reports\" rd /s /q "%localappdata%\Google\CrashReports\" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Clear Software Reporter Tool logs------------- :: ---------------------------------------------------------- echo --- Clear Software Reporter Tool logs del /f /q "%localappdata%\Google\Software Reporter Tool\*.log" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Clear all Chrome user data---------------- :: ---------------------------------------------------------- echo --- Clear all Chrome user data :: Windows XP rd /s /q "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data" :: Windows Vista and later rd /s /q "%localappdata%\Google\Chrome\User Data" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Clear browsing history and caches------------- :: ---------------------------------------------------------- echo --- Clear browsing history and caches set ignoreFiles="content-prefs.sqlite" "permissions.sqlite" "favicons.sqlite" for %%d in ("%APPDATA%\Mozilla\Firefox\Profiles\" "%USERPROFILE%\Local Settings\Application Data\Mozilla\Firefox\Profiles\" ) do ( IF EXIST %%d ( FOR /d %%p IN (%%d*) DO ( for /f "delims=" %%f in ('dir /b /s "%%p\*.sqlite" 2^>nul') do ( set "continue=" for %%i in (%ignoreFiles%) do ( if %%i == "%%~nxf" ( set continue=1 ) ) if not defined continue ( del /q /s /f %%f ) ) ) ) ) :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---Clear all Firefox user profiles, settings, and data---- :: ---------------------------------------------------------- echo --- Clear all Firefox user profiles, settings, and data rd /s /q "%localappdata%\Mozilla\Firefox\Profiles" rd /s /q "%APPDATA%\Mozilla\Firefox\Profiles" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------------Clear Webpage Icons-------------------- :: ---------------------------------------------------------- echo --- Clear Webpage Icons :: Windows XP del /q /s /f "%USERPROFILE%\Local Settings\Application Data\Safari\WebpageIcons.db" :: Windows Vista and later del /q /s /f "%localappdata%\Apple Computer\Safari\WebpageIcons.db" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Clear Safari cache-------------------- :: ---------------------------------------------------------- echo --- Clear Safari cache :: Windows XP del /q /s /f "%USERPROFILE%\Local Settings\Application Data\Apple Computer\Safari\Cache.db" :: Windows Vista and later del /q /s /f "%localappdata%\Apple Computer\Safari\Cache.db" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------------Clear Safari cookies------------------- :: ---------------------------------------------------------- echo --- Clear Safari cookies :: Windows XP del /q /s /f "%USERPROFILE%\Local Settings\Application Data\Apple Computer\Safari\Cookies.db" :: Windows Vista and later del /q /s /f "%localappdata%\Apple Computer\Safari\Cookies.db" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: Clear all Safari data (user profiles, settings, and data)- :: ---------------------------------------------------------- echo --- Clear all Safari data (user profiles, settings, and data) :: Windows XP rd /s /q "%USERPROFILE%\Local Settings\Application Data\Apple Computer\Safari" :: Windows Vista and later rd /s /q "%AppData%\Apple Computer\Safari" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------Empty trash bin---------------------- :: ---------------------------------------------------------- echo --- Empty trash bin PowerShell -ExecutionPolicy Unrestricted -Command "$bin = (New-Object -ComObject Shell.Application).NameSpace(10); $bin.items() | ForEach {; Write-Host "^""Deleting $($_.Name) from Recycle Bin"^""; Remove-Item $_.Path -Recurse -Force; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Clear thumbnail cache------------------- :: ---------------------------------------------------------- echo --- Clear thumbnail cache del /f /s /q /a %LocalAppData%\Microsoft\Windows\Explorer\*.db :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Clear Windows temp files----------------- :: ---------------------------------------------------------- echo --- Clear Windows temp files del /f /q %localappdata%\Temp\* rd /s /q "%WINDIR%\Temp" rd /s /q "%TEMP%" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Clear main telemetry file----------------- :: ---------------------------------------------------------- echo --- Clear main telemetry file if exist "%ProgramData%\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl" ( takeown /f "%ProgramData%\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl" /r /d y icacls "%ProgramData%\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl" /grant administrators:F /t echo "" > "%ProgramData%\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl" echo Clear successful: "%ProgramData%\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl" ) else ( echo "Main telemetry file does not exist. Good!" ) :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Clear Event Logs in Event Viewer------------- :: ---------------------------------------------------------- echo --- Clear Event Logs in Event Viewer REM https://social.technet.microsoft.com/Forums/en-US/f6788f7d-7d04-41f1-a64e-3af9f700e4bd/failed-to-clear-log-microsoftwindowsliveidoperational-access-is-denied?forum=win10itprogeneral wevtutil sl Microsoft-Windows-LiveId/Operational /ca:O:BAG:SYD:(A;;0x1;;;SY)(A;;0x5;;;BA)(A;;0x1;;;LA) for /f "tokens=*" %%i in ('wevtutil.exe el') DO ( echo Deleting event log: "%%i" wevtutil.exe cl %1 "%%i" ) :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Clean Windows Defender scan history------------ :: ---------------------------------------------------------- echo --- Clean Windows Defender scan history del "%ProgramData%\Microsoft\Windows Defender\Scans\History\" /s /f /q :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: Clear Optional Component Manager and COM+ components logs- :: ---------------------------------------------------------- echo --- Clear Optional Component Manager and COM+ components logs del /f /q %SystemRoot%\comsetup.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Clear Distributed Transaction Coordinator logs------ :: ---------------------------------------------------------- echo --- Clear Distributed Transaction Coordinator logs del /f /q %SystemRoot%\DtcInstall.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Clear Pending File Rename Operations logs--------- :: ---------------------------------------------------------- echo --- Clear Pending File Rename Operations logs del /f /q %SystemRoot%\PFRO.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Clear Windows Deployment Upgrade Process Logs------- :: ---------------------------------------------------------- echo --- Clear Windows Deployment Upgrade Process Logs del /f /q %SystemRoot%\setupact.log del /f /q %SystemRoot%\setuperr.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Clear Windows Setup Logs----------------- :: ---------------------------------------------------------- echo --- Clear Windows Setup Logs del /f /q %SystemRoot%\setupapi.log del /f /q %SystemRoot%\Panther\* del /f /q %SystemRoot%\inf\setupapi.app.log del /f /q %SystemRoot%\inf\setupapi.dev.log del /f /q %SystemRoot%\inf\setupapi.offline.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Clear Windows System Assessment Tool logs--------- :: ---------------------------------------------------------- echo --- Clear Windows System Assessment Tool logs del /f /q %SystemRoot%\Performance\WinSAT\winsat.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------Clear Password change events--------------- :: ---------------------------------------------------------- echo --- Clear Password change events del /f /q %SystemRoot%\debug\PASSWD.LOG :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------Clear user web cache database--------------- :: ---------------------------------------------------------- echo --- Clear user web cache database del /f /q %localappdata%\Microsoft\Windows\WebCache\*.* :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----Clear system temp folder when no one is logged in----- :: ---------------------------------------------------------- echo --- Clear system temp folder when no one is logged in del /f /q %SystemRoot%\ServiceProfiles\LocalService\AppData\Local\Temp\*.* :: ---------------------------------------------------------- :: Clear DISM (Deployment Image Servicing and Management) Logs echo --- Clear DISM (Deployment Image Servicing and Management) Logs del /f /q %SystemRoot%\Logs\CBS\CBS.log del /f /q %SystemRoot%\Logs\DISM\DISM.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------Clear WUAgent (Windows Update History) logs-------- :: ---------------------------------------------------------- echo --- Clear WUAgent (Windows Update History) logs setlocal EnableDelayedExpansion SET /A wuau_service_running=0 SC queryex "wuauserv"|Find "STATE"|Find /v "RUNNING">Nul||( SET /A wuau_service_running=1 net stop wuauserv ) del /q /s /f "%SystemRoot%\SoftwareDistribution" IF !wuau_service_running! == 1 ( net start wuauserv ) endlocal :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Clear Server-initiated Healing Events Logs-------- :: ---------------------------------------------------------- echo --- Clear Server-initiated Healing Events Logs del /f /q "%SystemRoot%\Logs\SIH\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------Common Language Runtime Logs--------------- :: ---------------------------------------------------------- echo --- Common Language Runtime Logs del /f /q "%LocalAppData%\Microsoft\CLR_v4.0\UsageTraces\*" del /f /q "%LocalAppData%\Microsoft\CLR_v4.0_32\UsageTraces\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Network Setup Service Events Logs------------- :: ---------------------------------------------------------- echo --- Network Setup Service Events Logs del /f /q "%SystemRoot%\Logs\NetSetup\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------Disk Cleanup tool (Cleanmgr.exe) Logs----------- :: ---------------------------------------------------------- echo --- Disk Cleanup tool (Cleanmgr.exe) Logs del /f /q "%SystemRoot%\System32\LogFiles\setupcln\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------Clear Windows update and SFC scan logs---------- :: ---------------------------------------------------------- echo --- Clear Windows update and SFC scan logs del /f /q %SystemRoot%\Temp\CBS\* :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------Clear Windows Update Medic Service logs---------- :: ---------------------------------------------------------- echo --- Clear Windows Update Medic Service logs takeown /f %SystemRoot%\Logs\waasmedic /r /d y icacls %SystemRoot%\Logs\waasmedic /grant administrators:F /t rd /s /q %SystemRoot%\Logs\waasmedic :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Clear Cryptographic Services Traces------------ :: ---------------------------------------------------------- echo --- Clear Cryptographic Services Traces del /f /q %SystemRoot%\System32\catroot2\dberr.txt del /f /q %SystemRoot%\System32\catroot2.log del /f /q %SystemRoot%\System32\catroot2.jrs del /f /q %SystemRoot%\System32\catroot2.edb del /f /q %SystemRoot%\System32\catroot2.chk :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Windows Update Events Logs---------------- :: ---------------------------------------------------------- echo --- Windows Update Events Logs del /f /q "%SystemRoot%\Logs\SIH\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------------Windows Update Logs-------------------- :: ---------------------------------------------------------- echo --- Windows Update Logs del /f /q "%SystemRoot%\Traces\WindowsUpdate\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Clear Listary indexes------------------- :: ---------------------------------------------------------- echo --- Clear Listary indexes del /f /s /q %appdata%\Listary\UserData > nul :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------Clear Java cache--------------------- :: ---------------------------------------------------------- echo --- Clear Java cache rd /s /q "%APPDATA%\Sun\Java\Deployment\cache" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Clear Flash traces-------------------- :: ---------------------------------------------------------- echo --- Clear Flash traces rd /s /q "%APPDATA%\Macromedia\Flash Player" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Clear Steam dumps, logs, and traces------------ :: ---------------------------------------------------------- echo --- Clear Steam dumps, logs, and traces del /f /q %ProgramFiles(x86)%\Steam\Dumps del /f /q %ProgramFiles(x86)%\Steam\Traces del /f /q %ProgramFiles(x86)%\Steam\appcache\*.log :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----Clear Visual Studio telemetry and feedback data------ :: ---------------------------------------------------------- echo --- Clear Visual Studio telemetry and feedback data rmdir /s /q "%AppData%\vstelemetry" 2>nul rmdir /s /q "%LocalAppData%\Microsoft\VSApplicationInsights" 2>nul rmdir /s /q "%ProgramData%\Microsoft\VSApplicationInsights" 2>nul rmdir /s /q "%Temp%\Microsoft\VSApplicationInsights" 2>nul rmdir /s /q "%Temp%\VSFaultInfo" 2>nul rmdir /s /q "%Temp%\VSFeedbackPerfWatsonData" 2>nul rmdir /s /q "%Temp%\VSFeedbackVSRTCLogs" 2>nul rmdir /s /q "%Temp%\VSRemoteControl" 2>nul rmdir /s /q "%Temp%\VSTelem" 2>nul rmdir /s /q "%Temp%\VSTelem.Out" 2>nul :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Clear Dotnet CLI telemetry---------------- :: ---------------------------------------------------------- echo --- Clear Dotnet CLI telemetry rmdir /s /q "%USERPROFILE%\.dotnet\TelemetryStorageService" 2>nul :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Clear regedit last key------------------ :: ---------------------------------------------------------- echo --- Clear regedit last key reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /va /f reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Regedit" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Clear regedit favorites------------------ :: ---------------------------------------------------------- echo --- Clear regedit favorites reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites" /va /f reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Clear list of recent programs opened----------- :: ---------------------------------------------------------- echo --- Clear list of recent programs opened reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU" /va /f reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRULegacy" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------Clear Adobe Media Browser MRU--------------- :: ---------------------------------------------------------- echo --- Clear Adobe Media Browser MRU reg delete "HKCU\Software\Adobe\MediaBrowser\MRU" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Clear MSPaint MRU--------------------- :: ---------------------------------------------------------- echo --- Clear MSPaint MRU reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint\Recent File List" /va /f reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Paint\Recent File List" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Clear Wordpad MRU--------------------- :: ---------------------------------------------------------- echo --- Clear Wordpad MRU reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Wordpad\Recent File List" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Clear Map Network Drive MRU MRU-------------- :: ---------------------------------------------------------- echo --- Clear Map Network Drive MRU MRU reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive MRU" /va /f reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive MRU" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------Clear Windows Search Assistant history---------- :: ---------------------------------------------------------- echo --- Clear Windows Search Assistant history reg delete "HKCU\Software\Microsoft\Search Assistant\ACMru" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Clear list of Recent Files Opened, by Filetype------ :: ---------------------------------------------------------- echo --- Clear list of Recent Files Opened, by Filetype reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs" /va /f reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs" /va /f reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----Clear windows media player recent files and URLs----- :: ---------------------------------------------------------- echo --- Clear windows media player recent files and URLs reg delete "HKCU\Software\Microsoft\MediaPlayer\Player\RecentFileList" /va /f reg delete "HKCU\Software\Microsoft\MediaPlayer\Player\RecentURLList" /va /f reg delete "HKLM\SOFTWARE\Microsoft\MediaPlayer\Player\RecentFileList" /va /f reg delete "HKLM\SOFTWARE\Microsoft\MediaPlayer\Player\RecentURLList" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------Clear Most Recent Application's Use of DirectX------ :: ---------------------------------------------------------- echo --- Clear Most Recent Application's Use of DirectX reg delete "HKCU\Software\Microsoft\Direct3D\MostRecentApplication" /va /f reg delete "HKLM\SOFTWARE\Microsoft\Direct3D\MostRecentApplication" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Clear Windows Run MRU & typedpaths------------ :: ---------------------------------------------------------- echo --- Clear Windows Run MRU ^& typedpaths reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" /va /f reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths" /va /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------Clear recently accessed files--------------- :: ---------------------------------------------------------- echo --- Clear recently accessed files del /f /q "%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------Clear user pins---------------------- :: ---------------------------------------------------------- echo --- Clear user pins del /f /q "%APPDATA%\Microsoft\Windows\Recent\CustomDestinations\*" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Disable Visual Studio Code telemetry----------- :: ---------------------------------------------------------- echo --- Disable Visual Studio Code telemetry PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'telemetry.enableTelemetry' -Value $false -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Disable Visual Studio Code crash reporting-------- :: ---------------------------------------------------------- echo --- Disable Visual Studio Code crash reporting PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'telemetry.enableCrashReporter' -Value $false -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------Do not run Microsoft online experiments---------- :: ---------------------------------------------------------- echo --- Do not run Microsoft online experiments PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'workbench.enableExperiments' -Value $false -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------Choose manual updates over automatic updates------- :: ---------------------------------------------------------- echo --- Choose manual updates over automatic updates PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'update.mode' -Value 'manual' -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: Show Release Notes from Microsoft online service after an update echo --- Show Release Notes from Microsoft online service after an update PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'update.showReleaseNotes' -Value $false -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: Automatically check extensions from Microsoft online service echo --- Automatically check extensions from Microsoft online service PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'extensions.autoCheckUpdates' -Value $false -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---Fetch recommendations from Microsoft only on demand---- :: ---------------------------------------------------------- echo --- Fetch recommendations from Microsoft only on demand PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'extensions.showRecommendationsOnlyOnDemand' -Value $true -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --Automatically fetch git commits from remote repository-- :: ---------------------------------------------------------- echo --- Automatically fetch git commits from remote repository PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'git.autofetch' -Value $false -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------Fetch package information from NPM and Bower------- :: ---------------------------------------------------------- echo --- Fetch package information from NPM and Bower PowerShell -ExecutionPolicy Unrestricted -Command "$jsonfile = "^""$env:APPDATA\Code\User\settings.json"^""; if (!(Test-Path $jsonfile -PathType Leaf)) {; Write-Host "^""No updates. Settings file was not at $jsonfile"^""; exit 0; }; $json = Get-Content $jsonfile | Out-String | ConvertFrom-Json; $json | Add-Member -Type NoteProperty -Name 'npm.fetchOnlinePackageInfo' -Value $false -Force; $json | ConvertTo-Json | Set-Content $jsonfile" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Uninstall NVIDIA telemetry tasks------------- :: ---------------------------------------------------------- echo --- Uninstall NVIDIA telemetry tasks if exist "%ProgramFiles%\NVIDIA Corporation\Installer2\InstallerCore\NVI2.DLL" ( rundll32 "%PROGRAMFILES%\NVIDIA Corporation\Installer2\InstallerCore\NVI2.DLL",UninstallPackage NvTelemetryContainer rundll32 "%PROGRAMFILES%\NVIDIA Corporation\Installer2\InstallerCore\NVI2.DLL",UninstallPackage NvTelemetry ) :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------Delete NVIDIA residual telemetry files---------- :: ---------------------------------------------------------- echo --- Delete NVIDIA residual telemetry files del /s %SystemRoot%\System32\DriverStore\FileRepository\NvTelemetry*.dll rmdir /s /q "%ProgramFiles(x86)%\NVIDIA Corporation\NvTelemetry" 2>nul rmdir /s /q "%ProgramFiles%\NVIDIA Corporation\NvTelemetry" 2>nul :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------Opt out from NVIDIA telemetry--------------- :: ---------------------------------------------------------- echo --- Opt out from NVIDIA telemetry reg add "HKLM\SOFTWARE\NVIDIA Corporation\NvControlPanel2\Client" /v "OptInOrOutPreference" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\NVIDIA Corporation\Global\FTS" /v "EnableRID44231" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\NVIDIA Corporation\Global\FTS" /v "EnableRID64640" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\NVIDIA Corporation\Global\FTS" /v "EnableRID66610" /t REG_DWORD /d 0 /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\nvlddmkm\Global\Startup" /v "SendTelemetryData" /t REG_DWORD /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------Disable Nvidia Telemetry Container service-------- :: ---------------------------------------------------------- echo --- Disable Nvidia Telemetry Container service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'NvTelemetryContainer'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Disable NVIDIA telemetry services------------- :: ---------------------------------------------------------- echo --- Disable NVIDIA telemetry services schtasks /change /TN NvTmMon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /DISABLE schtasks /change /TN NvTmRep_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /DISABLE schtasks /change /TN NvTmRepOnLogon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8} /DISABLE :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Disable visual studio telemetry-------------- :: ---------------------------------------------------------- echo --- Disable visual studio telemetry reg add "HKCU\Software\Microsoft\VisualStudio\Telemetry" /v "TurnOffSwitch" /t REG_DWORD /d 1 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------Disable Visual Studio feedback-------------- :: ---------------------------------------------------------- echo --- Disable Visual Studio feedback reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableFeedbackDialog" /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableEmailInput" /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableScreenshotCapture" /t REG_DWORD /d 1 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: Stop and disable Visual Studio Standard Collector Service- :: ---------------------------------------------------------- echo --- Stop and disable Visual Studio Standard Collector Service PowerShell -ExecutionPolicy Unrestricted -Command "$serviceName = 'VSStandardCollectorService150'; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service `"^""$serviceName`"^"" could not be not found, no need to disable it."^""; Exit 0; }; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, stopping it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if already disabled #>; $startupType = $service.StartType <# Does not work before .NET 4.6.1 #>; if(!$startupType) {; $startupType = (Get-WmiObject -Query "^""Select StartMode From Win32_Service Where Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; if(!$startupType) {; $startupType = (Get-WmiObject -Class Win32_Service -Property StartMode -Filter "^""Name='$serviceName'"^"" -ErrorAction Ignore).StartMode; }; }; if($startupType -eq 'Disabled') {; Write-Host "^""$serviceName is already disabled, no further action is needed"^""; }; <# -- 4. Disable service #>; try {; Set-Service -Name "^""$serviceName"^"" -StartupType Disabled -Confirm:$false -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Disable SQM OS key-------------------- :: ---------------------------------------------------------- echo --- Disable SQM OS key if %PROCESSOR_ARCHITECTURE%==x86 ( REM is 32 bit? reg add "HKLM\SOFTWARE\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f ) else ( reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f ) :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Disable SQM group policy----------------- :: ---------------------------------------------------------- echo --- Disable SQM group policy reg add "HKLM\Software\Policies\Microsoft\VisualStudio\SQM" /v "OptIn" /t REG_DWORD /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------Disable PowerShell 7+ telemetry-------------- :: ---------------------------------------------------------- echo --- Disable PowerShell 7+ telemetry setx POWERSHELL_TELEMETRY_OPTOUT 1 :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------Disable CCleaner Monitoring---------------- :: ---------------------------------------------------------- echo --- Disable CCleaner Monitoring reg add "HKCU\Software\Piriform\CCleaner" /v "Monitoring" /t REG_DWORD /d 0 /f reg add "HKCU\Software\Piriform\CCleaner" /v "HelpImproveCCleaner" /t REG_DWORD /d 0 /f reg add "HKCU\Software\Piriform\CCleaner" /v "SystemMonitoring" /t REG_DWORD /d 0 /f reg add "HKCU\Software\Piriform\CCleaner" /v "UpdateAuto" /t REG_DWORD /d 0 /f reg add "HKCU\Software\Piriform\CCleaner" /v "UpdateCheck" /t REG_DWORD /d 0 /f reg add "HKCU\Software\Piriform\CCleaner" /v "CheckTrialOffer" /t REG_DWORD /d 0 /f reg add "HKLM\Software\Piriform\CCleaner" /v "(Cfg)HealthCheck" /t REG_DWORD /d 0 /f reg add "HKLM\Software\Piriform\CCleaner" /v "(Cfg)QuickClean" /t REG_DWORD /d 0 /f reg add "HKLM\Software\Piriform\CCleaner" /v "(Cfg)QuickCleanIpm" /t REG_DWORD /d 0 /f reg add "HKLM\Software\Piriform\CCleaner" /v "(Cfg)GetIpmForTrial" /t REG_DWORD /d 0 /f reg add "HKLM\Software\Piriform\CCleaner" /v "(Cfg)SoftwareUpdater" /t REG_DWORD /d 0 /f reg add "HKLM\Software\Piriform\CCleaner" /v "(Cfg)SoftwareUpdaterIpm" /t REG_DWORD /d 0 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------Delivery Optimization (P2P Windows Updates)-------- :: ---------------------------------------------------------- echo --- Delivery Optimization (P2P Windows Updates) PowerShell -ExecutionPolicy Unrestricted -Command "$serviceQuery = 'DoSvc'; <# -- 1. Skip if service does not exist #>; $service = Get-Service -Name $serviceQuery -ErrorAction SilentlyContinue; if(!$service) {; Write-Host "^""Service query `"^""$serviceQuery`"^"" did not yield any results, no need to disable it."^""; Exit 0; }; $serviceName = $service.Name; Write-Host "^""Disabling service: `"^""$serviceName`"^""."^""; <# -- 2. Stop if running #>; if ($service.Status -eq [System.ServiceProcess.ServiceControllerStatus]::Running) {; Write-Host "^""`"^""$serviceName`"^"" is running, trying to stop it."^""; try {; Stop-Service -Name "^""$serviceName"^"" -Force -ErrorAction Stop; Write-Host "^""Stopped `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Warning "^""Could not stop `"^""$serviceName`"^"", it will be stopped after reboot: $_"^""; }; } else {; Write-Host "^""`"^""$serviceName`"^"" is not running, no need to stop."^""; }; <# -- 3. Skip if service info is not found in registry #>; $registryKey = "^""HKLM:\SYSTEM\CurrentControlSet\Services\$serviceName"^""; if(!(Test-Path $registryKey)) {; Write-Host "^""`"^""$registryKey`"^"" is not found in registry, cannot enable it."^""; Exit 0; }; <# -- 4. Skip if already disabled #>; if( $(Get-ItemProperty -Path "^""$registryKey"^"").Start -eq 4) {; Write-Host "^""`"^""$serviceName`"^"" is already disabled from start, no further action is needed."^""; Exit 0; }; <# -- 5. Disable service #>; try {; Set-ItemProperty $registryKey -Name Start -Value 4 -Force -ErrorAction Stop; Write-Host "^""Disabled `"^""$serviceName`"^"" successfully."^""; } catch {; Write-Error "^""Could not disable `"^""$serviceName`"^"": $_"^""; }" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Kill OneDrive process------------------- :: ---------------------------------------------------------- echo --- Kill OneDrive process taskkill /f /im OneDrive.exe :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Uninstall OneDrive-------------------- :: ---------------------------------------------------------- echo --- Uninstall OneDrive if %PROCESSOR_ARCHITECTURE%==x86 ( %SystemRoot%\System32\OneDriveSetup.exe /uninstall 2>nul ) else ( %SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall 2>nul ) :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Remove OneDrive leftovers----------------- :: ---------------------------------------------------------- echo --- Remove OneDrive leftovers rd "%UserProfile%\OneDrive" /q /s rd "%LocalAppData%\Microsoft\OneDrive" /q /s rd "%ProgramData%\Microsoft OneDrive" /q /s rd "%SystemDrive%\OneDriveTemp" /q /s :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Delete OneDrive shortcuts----------------- :: ---------------------------------------------------------- echo --- Delete OneDrive shortcuts del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Microsoft OneDrive.lnk" /s /f /q del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk" /s /f /q del "%USERPROFILE%\Links\OneDrive.lnk" /s /f /q :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Disable usage of OneDrive----------------- :: ---------------------------------------------------------- echo --- Disable usage of OneDrive reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\OneDrive" /t REG_DWORD /v "DisableFileSyncNGSC" /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\OneDrive" /t REG_DWORD /v "DisableFileSync" /d 1 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---Prevent automatic OneDrive install for current user---- :: ---------------------------------------------------------- echo --- Prevent automatic OneDrive install for current user reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "OneDriveSetup" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----Prevent automatic OneDrive install for new users----- :: ---------------------------------------------------------- echo --- Prevent automatic OneDrive install for new users reg load "HKU\Default" "%SystemDrive%\Users\Default\NTUSER.DAT" reg delete "HKU\Default\software\Microsoft\Windows\CurrentVersion\Run" /v "OneDriveSetup" /f reg unload "HKU\Default" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Remove OneDrive from explorer menu------------ :: ---------------------------------------------------------- echo --- Remove OneDrive from explorer menu reg delete "HKCR\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f reg delete "HKCR\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f reg add "HKCR\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /v System.IsPinnedToNameSpaceTree /d "0" /t REG_DWORD /f reg add "HKCR\Wow6432Node\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /v System.IsPinnedToNameSpaceTree /d "0" /t REG_DWORD /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------Delete all OneDrive related Services----------- :: ---------------------------------------------------------- echo --- Delete all OneDrive related Services for /f "tokens=1 delims=," %%x in ('schtasks /query /fo csv ^| find "OneDrive"') do schtasks /Delete /TN %%x /F :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Delete OneDrive path from registry------------ :: ---------------------------------------------------------- echo --- Delete OneDrive path from registry reg delete "HKCU\Environment" /v "OneDrive" /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Remove Meet Now icon from taskbar------------- :: ---------------------------------------------------------- echo --- Remove Meet Now icon from taskbar reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "HideSCAMeetNow" /t REG_DWORD /d 1 /f :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------App Connector app--------------------- :: ---------------------------------------------------------- echo --- App Connector app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Appconnector' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Uninstall Cortana app------------------- :: ---------------------------------------------------------- echo --- Uninstall Cortana app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.549981C3F5F10' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------App Installer app--------------------- :: ---------------------------------------------------------- echo --- App Installer app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.DesktopAppInstaller' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------------Get Help app----------------------- :: ---------------------------------------------------------- echo --- Get Help app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.GetHelp' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Microsoft Tips app-------------------- :: ---------------------------------------------------------- echo --- Microsoft Tips app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Getstarted' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Microsoft Messaging app------------------ :: ---------------------------------------------------------- echo --- Microsoft Messaging app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Messaging' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Mixed Reality Portal app----------------- :: ---------------------------------------------------------- echo --- Mixed Reality Portal app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.MixedReality.Portal' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------Feedback Hub app--------------------- :: ---------------------------------------------------------- echo --- Feedback Hub app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WindowsFeedbackHub' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------Windows Alarms and Clock app--------------- :: ---------------------------------------------------------- echo --- Windows Alarms and Clock app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WindowsAlarms' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Windows Camera app-------------------- :: ---------------------------------------------------------- echo --- Windows Camera app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WindowsCamera' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------Windows Maps app--------------------- :: ---------------------------------------------------------- echo --- Windows Maps app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WindowsMaps' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------Minecraft for Windows 10 app--------------- :: ---------------------------------------------------------- echo --- Minecraft for Windows 10 app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.MinecraftUWP' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------------Microsoft People app------------------- :: ---------------------------------------------------------- echo --- Microsoft People app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.People' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Microsoft Pay app--------------------- :: ---------------------------------------------------------- echo --- Microsoft Pay app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Wallet' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Store Purchase app-------------------- :: ---------------------------------------------------------- echo --- Store Purchase app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.StorePurchaseApp' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Snip & Sketch app--------------------- :: ---------------------------------------------------------- echo --- Snip ^& Sketch app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.ScreenSketch' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------------Print 3D app----------------------- :: ---------------------------------------------------------- echo --- Print 3D app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Print3D' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------Mobile Plans app--------------------- :: ---------------------------------------------------------- echo --- Mobile Plans app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.OneConnect' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------Microsoft Solitaire Collection app------------ :: ---------------------------------------------------------- echo --- Microsoft Solitaire Collection app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.MicrosoftSolitaireCollection' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Microsoft Sticky Notes app---------------- :: ---------------------------------------------------------- echo --- Microsoft Sticky Notes app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.MicrosoftStickyNotes' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Mail and Calendar app------------------- :: ---------------------------------------------------------- echo --- Mail and Calendar app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'microsoft.windowscommunicationsapps' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Windows Calculator app------------------ :: ---------------------------------------------------------- echo --- Windows Calculator app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WindowsCalculator' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------------Microsoft Photos app------------------- :: ---------------------------------------------------------- echo --- Microsoft Photos app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Windows.Photos' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------------Skype app------------------------- :: ---------------------------------------------------------- echo --- Skype app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.SkypeApp' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------------GroupMe app------------------------ :: ---------------------------------------------------------- echo --- GroupMe app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.GroupMe10' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Windows Voice Recorder app---------------- :: ---------------------------------------------------------- echo --- Windows Voice Recorder app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WindowsSoundRecorder' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Microsoft 3D Builder app----------------- :: ---------------------------------------------------------- echo --- Microsoft 3D Builder app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.3DBuilder' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------------3D Viewer app----------------------- :: ---------------------------------------------------------- echo --- 3D Viewer app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Microsoft3DViewer' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------MSN Weather app---------------------- :: ---------------------------------------------------------- echo --- MSN Weather app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.BingWeather' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------------MSN Sports app---------------------- :: ---------------------------------------------------------- echo --- MSN Sports app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.BingSports' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------------MSN News app----------------------- :: ---------------------------------------------------------- echo --- MSN News app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.BingNews' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------------MSN Money app----------------------- :: ---------------------------------------------------------- echo --- MSN Money app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.BingFinance' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------HEIF Image Extensions app----------------- :: ---------------------------------------------------------- echo --- HEIF Image Extensions app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.HEIFImageExtension' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------VP9 Video Extensions app----------------- :: ---------------------------------------------------------- echo --- VP9 Video Extensions app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.VP9VideoExtensions' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Web Media Extensions app----------------- :: ---------------------------------------------------------- echo --- Web Media Extensions app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WebMediaExtensions' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Webp Image Extensions app----------------- :: ---------------------------------------------------------- echo --- Webp Image Extensions app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WebpImageExtension' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------------My Office app----------------------- :: ---------------------------------------------------------- echo --- My Office app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.MicrosoftOfficeHub' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------------OneNote app------------------------ :: ---------------------------------------------------------- echo --- OneNote app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Office.OneNote' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------------------Sway app------------------------- :: ---------------------------------------------------------- echo --- Sway app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Office.Sway' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -----------------Your Phone Companion app----------------- :: ---------------------------------------------------------- echo --- Your Phone Companion app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.WindowsPhone' | Remove-AppxPackage" PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Windows.Phone' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Communications - Phone app---------------- :: ---------------------------------------------------------- echo --- Communications - Phone app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.CommsPhone' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------------Your Phone app---------------------- :: ---------------------------------------------------------- echo --- Your Phone app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.YourPhone' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ---------------------Groove Music app--------------------- :: ---------------------------------------------------------- echo --- Groove Music app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.ZuneMusic' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: --------------------Movies and TV app--------------------- :: ---------------------------------------------------------- echo --- Movies and TV app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.ZuneVideo' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ------------------Network Speed Test app------------------ :: ---------------------------------------------------------- echo --- Network Speed Test app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.NetworkSpeedTest' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: -------------------Microsoft To Do app-------------------- :: ---------------------------------------------------------- echo --- Microsoft To Do app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Todos' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------Microsoft Advertising app----------------- :: ---------------------------------------------------------- echo --- Microsoft Advertising app PowerShell -ExecutionPolicy Unrestricted -Command "Get-AppxPackage 'Microsoft.Advertising.Xaml' | Remove-AppxPackage" :: ---------------------------------------------------------- :: ---------------------------------------------------------- :: ----------------------Remove MSEdge----------------------- :: ---------------------------------------------------------- taskkill /f /im msedge.exe echo uninstall edge.... rmdir /s /q "C:\Program Files (x86)\Microsoft\Edge\" cd "C:\Program Files (x86)\Microsoft\Edge\Application" for /d %%a in (*) do cd "%%~a\Installer\" start /w setup.exe --uninstall --system-level --force-uninstall winget install Brave.Brave ::Run O&O ShutUp 10 echo "Running ShutUp10++" curl "https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe" -o OOSU10.exe curl "https://raw.githubusercontent.com/windowsbetterify/windowsbetterify/main/ooshutup10.cfg" -o ooshutup10.cfg OOSU10.exe ooshutup10.cfg /quiet :: Disable crap services and SMBv1 rename "C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy" "C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy.bak" > NUL 2>&1 reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f > NUL 2>&1 reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowCortana" /t REG_DWORD /d 0 /f > NUL 2>&1 PowerShell -Command "Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force" sc config lanmanworkstation depend=bowser/mrxsmb20/nsi sc config TrkWks start=disabled sc config WbioSrvc start=disabled sc config WMPNetworkSvc start=disabled sc config wscsvc start=disabled sc config mrxsmb10 start=disabled sc config MapsBroker start=disabled sc config RetailDemo start=disabled sc config DiagTrack start=disabled sc config RemoteAccess start=disabled sc config RemoteRegistry start=disabled sc config lanmanworkstation depend=bowser/mrxsmb20/nsi :: Disable Timeline reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v "EnableActivityFeed" /t REG_DWORD /d 0 /f > NUL 2>&1 :: Disable + Delete Tasks echo Disabling task... schtasks /change /TN "\Microsoft\Windows\Application Experience\ProgramDataUpdater" /DISABLE > NUL 2>&1 schtasks /change /TN "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /DISABLE > NUL 2>&1 schtasks /change /TN "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /DISABLE > NUL 2>&1 schtasks /delete /TN "\Microsoft\Windows\Application Experience\StartupAppTask" /f > NUL 2>&1 schtasks /delete /TN "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /f > NUL 2>&1 :: Only use security updates echo Disabling all updates except security updates... curl "https://raw.githubusercontent.com/windowsbetterify/windowsbetterify/main/security-updates-only.reg" -o security-updates-only.reg regedit /s security-updates-only.reg :: Disable Hibernation, to make NTFS available in other OSes powercfg /h off :: Disable tailored experience echo Disable tailored experiences reg add "HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\CloudContent" /v DisableTailoredExperiencesWithDiagnosticData /t REG_DWORD /d 1 /f > NUL 2>&1 ::Change default TTL for unlimited tethering echo Changing TTL for limitless tethering on an unlimited plan... netsh int ipv4 set glob defaultcurhoplimit=65 netsh int ipv6 set glob defaultcurhoplimit=65 dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" exit /b 0