Fast User Switching on Windows 11: Turn It On or Off
A practical guide for VPS admins to enable or disable Fast User Switching on Windows 11 using Group Policy, the registry, and PowerShell over RDP.
Fast User Switching lets more than one account stay signed in at the same time, so you can jump between sessions without logging the previous user off. On a shared workstation that is convenient. On a rented Windows VPS that you administer over Remote Desktop, it is often something you want tightly controlled — either to keep a clean single-admin session or to prevent lingering disconnected sessions from holding memory and locks. This guide walks through enabling and disabling the feature using the three methods you will actually reach for on a server: Group Policy, the registry, and PowerShell.
What Fast User Switching actually controls
Fast User Switching governs whether Windows exposes the Switch user entry points — on the sign-in screen, the Start menu account picker, and the lock screen. Disabling it does not forcibly kill existing sessions; it removes the shortcuts that let someone start or jump to a second interactive session while the first stays active. When it is disabled, a user must sign out before another account can sign in interactively.
On a VPS this matters because RDP already creates interactive sessions. Leaving multiple accounts switched but connected can leave orphaned sessions consuming resources. Turning the feature off encourages a clean one-session-at-a-time discipline, which is usually what you want on a single-purpose server.
Before you start
- Connect over RDP with an account that is a member of the local Administrators group.
- Changes here affect the sign-in experience, not your current RDP session — you will not be disconnected.
- The setting takes effect at the next sign-in or after a Group Policy refresh; a reboot is not strictly required.
Method 1: Group Policy (recommended on domain or managed servers)
If your VPS runs an edition with the Group Policy Editor, this is the cleanest approach because the policy is self-documenting and easy to audit later.
- Open the Run dialog with Win + R, type
gpedit.msc, and press Enter. - Navigate to Computer Configuration → Administrative Templates → System → Logon.
- Double-click Hide entry points for Fast User Switching.
- Set it to Enabled to disable Fast User Switching, or Disabled / Not Configured to enable it. Note the deliberately confusing wording: the policy hides the feature, so "Enabled" means the switching UI is turned off.
- Click OK and refresh policy so the change applies immediately:
gpupdate /force
Method 2: The registry
Every edition — including those without gpedit.msc — honors the underlying registry value, so this method always works. The policy and the registry key are two views of the same setting.
- Key:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - Value:
HideFastUserSwitching(DWORD) - Data:
1to disable Fast User Switching,0(or deleting the value) to enable it.
You can set this through regedit, but on a server it is faster and more repeatable to use the command line. To disable the feature:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v HideFastUserSwitching /t REG_DWORD /d 1 /f
To re-enable it, set the value back to zero:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v HideFastUserSwitching /t REG_DWORD /d 0 /f
Method 3: PowerShell (best for scripting across VPS fleets)
If you manage several servers, PowerShell lets you apply the change consistently and roll it into provisioning scripts. The following snippet creates the policy key if it is missing and writes the value to disable Fast User Switching:
$Path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
if (-not (Test-Path $Path)) { New-Item -Path $Path -Force | Out-Null }
New-ItemProperty -Path $Path -Name 'HideFastUserSwitching' -Value 1 -PropertyType DWord -Force
To enable Fast User Switching again, flip the value to 0:
Set-ItemProperty -Path $Path -Name 'HideFastUserSwitching' -Value 0
To confirm the current state at any time, read the value back:
Get-ItemProperty -Path $Path -Name 'HideFastUserSwitching' -ErrorAction SilentlyContinue |
Select-Object -ExpandProperty HideFastUserSwitching
A result of 1 means switching is disabled, 0 or no value means it is enabled.
To push the change to multiple VPS instances, wrap the configuration block in Invoke-Command and target them by name, assuming WinRM is reachable:
Invoke-Command -ComputerName 'vps01','vps02' -ScriptBlock {
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' `
-Name 'HideFastUserSwitching' -Value 1
}
Verifying and cleaning up sessions
Because disabling the feature does not log anyone off, review existing sessions afterward. List them with:
query session
Any disconnected sessions you no longer need can be logged off by their ID with logoff <id>. On a server you rarely want stale sessions sitting around, so pair this change with a habit of checking active and disconnected sessions.
Which method should you use?
Choose Group Policy when the server is domain-joined or centrally managed and you want the setting visible in policy reports. Reach for the registry command on a standalone VPS or an edition without the policy editor. Use PowerShell when the change should be repeatable, logged, or applied across more than one machine — which is the common case for anyone running a fleet of rented Windows servers. All three write the same value, so they are interchangeable and safe to mix, as long as you remember that 1 hides the feature and 0 restores it.
Run this on your own Windows VPS
Spin up a fully managed Windows VPS from WindowsVPS in minutes — full Administrator access over RDP, NVMe storage and global regions.
Related Articles
Ready to deploy your server?
Windows or Linux VPS — up and running in under 60 seconds.