This page looks best with JavaScript enabled

My Windows 11 24H2 Setup Process

 ·  ☕ 9 min read

With standard Windows 10 support ending this year I think it’s a good time to share what I do to a fresh Windows 11 24H2 installation to make it work for me and reduce annoyances. Windows used to be very useable out of the box, but since Windows 8 its been on a downward spiral with Microsoft making more and more bad decisions…in my opinion. Anyway, here’s how I fix Windows when I do a fresh install.

Please note that during testing some registry changes didn’t take immediate effect. It might have been that I needed to restart for some changes to take effect, but if you experience it too, it’s not just you. Because of this I’ve also included where some settings are in the GUI.

Turn Off Sticky Keys

  1. Tap the Shift key 5 times and a dialogue box will pop up. (If it doesn’t Sticky Keys is already disabled most likely)
  2. Click the text “Disable this keyboard shortcut…” the Windows Settings panel will open.
  3. Click the > next to the Off/On switch on the Sticky Keys option.
  4. Click the Off/On switch on the “Keyboard shortcut for Sticky keys” option.
1
New-ItemProperty -Path "HKCU:\Control Panel\Accessibility\StickyKeys" -Name 'Flags' -Value 26 -PropertyType String -Force

Remove Windows 11 Optional Features

Win + R appwiz.cpl > “Turn Windows Features on or off”

List all currently enabled optional features:

1
Get-WindowsOptionalFeature -Online | Where-Object {$_.state -eq "Enabled"}

This is what I disable:

1
2
3
4
5
6
7
8
Disable-WindowsOptionalFeature -FeatureName "WorkFolders-Client" -Online
Disable-WindowsOptionalFeature -FeatureName "MediaPlayback" -Online
Disable-WindowsOptionalFeature -FeatureName "WindowsMediaPlayer" -Online
Disable-WindowsOptionalFeature -FeatureName "SmbDirect" -Online
Disable-WindowsOptionalFeature -FeatureName "MSRDC-Infrastructure" -Online
Disable-WindowsOptionalFeature -FeatureName "MicrosoftWindowsPowerShellV2Root" -Online
Disable-WindowsOptionalFeature -FeatureName "MicrosoftWindowsPowerShellV2" -Online
Disable-WindowsOptionalFeature -FeatureName "Printing-Foundation-InternetPrinting-Client" -Online

List all Installed Windows Capabilities

1
Get-WindowsCapability -Online | Where-Object {$_.state -eq "Installed"}

This is what I remove:

1
2
Remove-WindowsCapability -Online -Name Microsoft.Windows.PowerShell.ISE~~~~0.0.1.0
DISM /Online /Disable-Feature /FeatureName:Recall

Remove Built-in Apps

I use my own FOSS utility I created specially for this task: Remove-MS-Store-Apps Utility

1
powershell -ep bypass "C:\scripts\Remove-MS-Store-Apps.ps1" -list "C:\scripts\apps.txt"

Here is my apps to remove list:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Clipchamp.Clipchamp
Microsoft.BingNews
Microsoft.BingSearch
Microsoft.BingWeather
Microsoft.GamingApp
Microsoft.GetHelp
Microsoft.MicrosoftOfficeHub
Microsoft.MicrosoftSolitaireCollection
Microsoft.MicrosoftStickyNotes
Microsoft.OutlookForWindows
Microsoft.PowerAutomateDesktop
Microsoft.Todos
Microsoft.Windows.DevHome
Microsoft.Windows.Photos
Microsoft.WindowsAlarms
Microsoft.WindowsFeedbackHub
Microsoft.WindowsSoundRecorder
Microsoft.YourPhone
Microsoft.ZuneMusic
MicrosoftCorporationII.QuickAssist
MicrosoftWindows.CrossDevice
MSTeams

Installing apps via winget

winget is one of the few really useful tools to have come out of Microsoft in recent years.

To find an app to install:

1
winget search "firefox"

To install the app:

1
winget install --id Mozilla.Firefox

Remove Search from the Taskbar

Right-click taskbar > Taskbar settings > Search > Hide

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" -Name 'SearchboxTaskbarMode' -Value 0 -PropertyType DWord -Force

Remove Task View Button on the Taskbar

Right-click taskbar > Taskbar settings > Task view > Off

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name 'ShowTaskViewButton' -Value 0 -PropertyType DWord -Force

Windows Services to disable

I don’t do any printing, if you do change Spooler and PrintNotify to ‘Manual’.

1
2
3
Set-Service -Name DiagTrack -StartupType Disabled
Set-Service -Name Spooler -StartupType Disabled
Set-Service -Name PrintNotify -StartupType Disabled

Disable Hibernation and Fast Startup

1
powercfg /h off

Disable the New Context Menu

Registry edit via PowerShell:

1
2
New-Item -Path "HKCU:\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" -Name "InprocServer32" -Force
Set-Item -Path "HKCU:\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" -Value " " -Force

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\NonEnum" -Name '{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}' -Value 1 -PropertyType DWord -Force

Setting File Explorer views to be consistent

I use this fantastic FOSS utility: WinSetView

Download the zip file, unzip and run WinSetView.exe.

File Explorer preferences

File Explorer > three dot menu > Options

Show recently used files: Disabled

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" -Name 'ShowRecent' -Value 0 -PropertyType DWord -Force

Show frequently used folders: Disabled

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" -Name 'ShowFrequent' -Value 0 -PropertyType DWord -Force

Show files from Office.com: Disabled

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" -Name 'ShowCloudFilesInQuickAccess' -Value 0 -PropertyType DWord -Force

Open File Explorer to: This PC

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name 'LaunchTo' -Value 1 -PropertyType DWord -Force

Show hidden files, folders or drives: Enabled

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name 'Hidden' -Value 1 -PropertyType DWord -Force

Hide empty drives: Disabled

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name 'HideDrivesWithNoMedia' -Value 0 -PropertyType DWord -Force

Hide extensions for known file types: Disabled

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name 'HideFileExt' -Value 0 -PropertyType DWord -Force

Display the full path in the title bar: Enabled

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState" -Name 'FullPath' -Value 1 -PropertyType DWord -Force

Remove Widgets from the Taskbar

Right-click taskbar > Taskbar settings > Widgets > Off

Registry edit via PowerShell:

1
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name 'TaskbarDa' -Value 0 -PropertyType DWord -Force

Remove Startup Programs

Right-click taskbar > Task Manager > Startup apps > disable desired programs/services

Uninstall One Drive

1
& $env:systemroot\System32\OneDriveSetup.exe /uninstall

Using Local Group Policy for Configuration

If you have Windows 11 Pro or above you can use the local Group Policy to configure a lot of your settings adn then back them up and restore them onto other PCs. To do this we can use a cool little Microsoft tool called LGPO.exe.

You can download it here: Microsoft Security Compliance Toolkit 1.0

The specific tool you want is: LGPO.zip

Unzip the zip file and copy LGPO.exe to a working directory.

Use /b to backup your current Local Group Policy to a folder

1
& C:\scripts\LGPO\lgpo.exe /b C:\scripts\My-GPO-Settings

Use /g to restore a local group policy bacup from the specified folder

1
& C:\scripts\LGPO\lgpo.exe /g C:\scripts\My-GPO-Settings

My Local Group Policy

Open the local group policy editor with Win + R gpedit.msc

Here is my local group policy settings:

Administrative Templates > Control Panel

Allow Online Tips: Disabled

Network/QoS Packet Scheduler

Limit reservable bandwidth: Enabled
Bandwidth limit (%): 0

System/Internet Communication Management

Restrict Internet communication: Enabled

System/Internet Communication Management/Internet Communication settings

Turn off downloading of print drivers over HTTP: Enabled
Turn off Event Viewer “Events.asp” links: Enabled
Turn off Help and Support Center “Did you know?” content: Enabled
Turn off Help and Support Center Microsoft Knowledge Base search: Enabled
Turn off Internet Connection Wizard if URL connection is referring to Microsoft.com: Enabled
Turn off Internet download for Web publishing and online ordering wizards: Enabled
Turn off Internet File Association service: Enabled
Turn off printing over HTTP: Enabled
Turn off Registration if URL connection is referring to Microsoft.com: Enabled
Turn off Search Companion content file updates: Enabled
Turn off the “Order Prints” picture task: Enabled
Turn off the “Publish to Web” task for files and folders: Enabled
Turn off the Windows Messenger Customer Experience Improvement Program: Enabled
Turn off Windows Customer Experience Improvement Program: Enabled
Turn off Windows Error Reporting: Enabled
Turn off Windows Network Connectivity Status Indicator active tests: Enabled
Turn off Windows Update device driver searching: Enabled

System/OS Policies

Allow Clipboard History: Disabled
Allow Clipboard synchronization across devices: Disabled
Allow publishing of User Activities: Disabled
Allow upload of User Activities: Disabled
Enables Activity Feed: Disabled

System/Remote Assistance

Configure Offer Remote Assistance: Disabled
Configure Solicited Remote Assistance: Disabled

System/User Profiles

Turn off the advertising ID: Enabled

Windows Components/AutoPlay Policies

Turn off Autoplay: Enabled
Turn off Autoplay on: All drives

Windows Components/Cloud Content

Do not show Windows tips: Enabled
Turn off cloud optimized content: Enabled
Turn off Microsoft consumer experiences: Enabled

Windows Components/Data Collection and Preview Builds

Allow commercial data pipeline: Disabled
Allow device name to be sent in Windows diagnostic data: Disabled
Allow Diagnostic Data: Enabled - Diagnostic data off (not recommended)
Allow Update Compliance Processing: Disabled
Allow WUfB Cloud Processing: Disabled
Configure collection of browsing data for Desktop Analytics: Disabled
Configure the Commercial ID: Disabled

Windows Components/Location and Sensors

Turn off location: Enabled
Turn off location scripting: Enabled
Turn off sensors: Enabled

Windows Components/Location and Sensors/Windows Location Provider

Turn off Windows Location Provider: Enabled

Windows Components/Microsoft Defender Antivirus/MAPS

Send file samples when further analysis is required: Enabled
Send file samples when further analysis is required: Never send

Windows Components/Search

Allow Cortana: Disabled
Do not allow web search: Enabled
Don’t search the web or display web results in Search: Enabled

Windows Components/Software Protection Platform
Control Device Reactivation for Retail devices: Enabled
Turn off KMS Client Online AVS Validation: Enabled

Windows Components/Sync your settings

Do not sync: Enabled
Allow users to turn syncing on: Disabled
Do not sync accessibility settings: Enabled
Allow users to turn “accessibility” syncing on: Disabled
Do not sync app settings: Enabled
Allow users to turn “app settings” syncing on: Disabled
Do not sync Apps: Enabled
Allow users to turn “AppSync” syncing on: Disabled
Do not sync browser settings: Enabled
Allow users to turn “browser” syncing on: Disabled
Do not sync desktop personalization: Enabled
Allow users to turn “desktop personalization” syncing on: Disabled
Do not sync language preferences settings: Enabled
Allow users to turn “language preferences” syncing on: Disabled
Do not sync on metered connections: Enabled
Do not sync other Windows settings: Enabled
Allow users to turn “other Windows settings” syncing on: Disabled
Do not sync passwords: Enabled
Allow users to turn “passwords” syncing on: Disabled
Do not sync personalize: Enabled
Allow users to turn “personalize” syncing on: Disabled
Do not sync start settings: Enabled
Allow users to turn “start layout” syncing on: Disabled

Windows Components/Windows Error Reporting

Disable Windows Error Reporting: Enabled

Windows Components/Windows Update/Manage end user experience

Configure Automatic Updates: Enabled
Configure automatic updating: 5 - Allow local admin to choose setting
Install during automatic maintenance: Disabled
Scheduled install day: 0 - Every day
Scheduled install time: 03:00
Every week: Enabled
First week of the month: Disabled
Second week of the month: Disabled
Third week of the month: Disabled
Fourth week of the month: Disabled
Install updates for other Microsoft products: Enabled
Specify active hours range for auto-restarts: Enabled
Specify the max active hours range - Max range: 18

Windows Components/Windows Update/Manage updates offered from Windows Update

Manage preview builds: Disabled
Select when Preview Builds and Feature Updates are received: Enabled
How many days after a Feature Update is released would you like to defer the update before it is offered to the device? - 365

Select when Quality Updates are received: Enabled
After a quality update is released, defer receiving it for this many days: 3

Hope this helps! If you have any questions or comments please leave them below.

Thanks
-Mike

Share on
Support the author with