🎮 Gaming FPS Mode
Intune Platform Script · Boosts FPS by tuning power, killing background junk, and watching for Steam
Runs as the logged-on user — all registry writes target HKCU. The Steam watcher scheduled task runs at logon with elevated rights. Don't push this to shared kiosks or conference room devices.
What this does: sets High Performance power plan · enables Windows Game Mode · disables Xbox DVR recording overhead · kills SysMain (Superfetch) · creates a logon task that suspends OneDrive and boosts Steam process priority whenever Steam is detected running.
Script
1
Set High Performance power plan power
Switches the active power plan to High Performance. Single biggest FPS improvement on laptops.
# Set High Performance power plan
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
copy
2
Enable Windows Game Mode registry
Tells Windows to prioritize the foreground game for CPU and GPU resources automatically.
# Enable Windows Game Mode via registry
New-Item -Path "HKCU:\Software\Microsoft\GameBar" -Force | Out-Null
Set-ItemProperty -Path "HKCU:\Software\Microsoft\GameBar" -Name "AllowAutoGameMode" -Value 1 -Type DWord -Force
Set-ItemProperty -Path "HKCU:\Software\Microsoft\GameBar" -Name "AutoGameModeEnabled" -Value 1 -Type DWord -Force
copy
3
Disable Xbox Game DVR recording registry
Game Bar's background recording eats GPU encode budget even when you're not using it.
# Disable Xbox Game Bar background recording
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" -Force | Out-Null
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" -Name "AppCaptureEnabled" -Value 0 -Type DWord -Force
New-Item -Path "HKCU:\System\GameConfigStore" -Force | Out-Null
Set-ItemProperty -Path "HKCU:\System\GameConfigStore" -Name "GameDVR_Enabled" -Value 0 -Type DWord -Force
copy
4
Disable SysMain (Superfetch) service
SysMain pre-loads apps into RAM. On gaming rigs with fast SSDs it just wastes memory that games need.
# Stop and disable SysMain (Superfetch)
Stop-Service -Name SysMain -Force -ErrorAction SilentlyContinue
Set-Service -Name SysMain -StartupType Disabled
copy
5
Steam watcher — suspend OneDrive + boost priority scheduled task
Creates a logon task that polls every 30s. When Steam is running: kills OneDrive sync and raises Steam to High CPU priority. Keeps running silently in the background.
# Create logon task: kill OneDrive and boost Steam when gaming
$cmd = 'while($true){ if(Get-Process steam -EA 0){ Stop-Process -Name OneDrive -Force -EA 0; Get-Process steam -EA 0 | ForEach-Object { $_.PriorityClass = "High" } }; Start-Sleep 30 }'
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-WindowStyle Hidden -NonInteractive -Command `"$cmd`""
$trigger = New-ScheduledTaskTrigger -AtLogOn
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit 0 -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
Register-ScheduledTask -TaskName "SteamFPSWatcher" -Action $action -Trigger $trigger -Settings $settings -RunLevel Highest -Force
copy
✦
Full script — upload this to Intune deploy
All 5 steps combined in one .ps1 platform script.
# Gaming FPS Mode — power plan, Game Mode, disable DVR, kill SysMain, Steam watcher
# 1. High Performance power plan
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
# 2. Enable Windows Game Mode
New-Item -Path "HKCU:\Software\Microsoft\GameBar" -Force | Out-Null
Set-ItemProperty -Path "HKCU:\Software\Microsoft\GameBar" -Name "AllowAutoGameMode" -Value 1 -Type DWord -Force
Set-ItemProperty -Path "HKCU:\Software\Microsoft\GameBar" -Name "AutoGameModeEnabled" -Value 1 -Type DWord -Force
# 3. Disable Xbox Game DVR recording overhead
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" -Force | Out-Null
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" -Name "AppCaptureEnabled" -Value 0 -Type DWord -Force
New-Item -Path "HKCU:\System\GameConfigStore" -Force | Out-Null
Set-ItemProperty -Path "HKCU:\System\GameConfigStore" -Name "GameDVR_Enabled" -Value 0 -Type DWord -Force
# 4. Stop and disable SysMain (Superfetch)
Stop-Service -Name SysMain -Force -ErrorAction SilentlyContinue
Set-Service -Name SysMain -StartupType Disabled
# 5. Steam watcher scheduled task
$cmd = 'while($true){ if(Get-Process steam -EA 0){ Stop-Process -Name OneDrive -Force -EA 0; Get-Process steam -EA 0 | ForEach-Object { $_.PriorityClass = "High" } }; Start-Sleep 30 }'
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-WindowStyle Hidden -NonInteractive -Command `"$cmd`""
$trigger = New-ScheduledTaskTrigger -AtLogOn
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit 0 -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
Register-ScheduledTask -TaskName "SteamFPSWatcher" -Action $action -Trigger $trigger -Settings $settings -RunLevel Highest -Force
copy
Intune Platform Script Settings
Run this script using the logged on credentials
Yes
Enforce script signature check
No
Run script in 64-bit PowerShell host
Yes