foreach ($taskPath in $tasksToDisable) Disable-ScheduledTask -Verbose
$tasksToDisable = @( "Microsoft\Windows\DiskDiagnostic*", "Microsoft\Windows\Power Efficiency Diagnostics*" ) setup prod offscrub
foreach ($svc in $servicesToStop) if (Get-Service -Name $svc -ErrorAction SilentlyContinue) Stop-Service $svc -Force Set-Service $svc -StartupType Disabled Write-Host "Disabled: $svc" # Windows Search "SysMain"
You can start with the (part of the Windows ADK) or build your own. Basic production-safe template: # ProductionOffScrub.ps1 # Run as SYSTEM or Administrator $servicesToStop = @( "WSearch", # Windows Search "SysMain", # Superfetch "DiagTrack", # Diagnostics Tracking "dmwappushservice" ) # Superfetch "DiagTrack"
Why would you do this in production? To , improve session density, or eliminate application conflicts on shared servers. However, running OffScrub incorrectly in production can break critical services, crash applications, or orphan user sessions.