Skip to content

Instantly share code, notes, and snippets.

@Paulladium46
Last active October 8, 2025 08:40
Show Gist options
  • Select an option

  • Save Paulladium46/7c9dee8dcdc35c9ea5665eee4906f428 to your computer and use it in GitHub Desktop.

Select an option

Save Paulladium46/7c9dee8dcdc35c9ea5665eee4906f428 to your computer and use it in GitHub Desktop.
NTLite Image Configuration Notes - Windows 11 - 24H2

NTLite Image Configuration Notes - Windows 11 - 24H2

Resources


Prep

Latest Windows Version

Load Image into NTLite

  • Add
    • image Directory or ISO
      • select folder where ISO contents were copied
    • Right click on Win 11 Pro - select Load
      • If ISO mounted, then configure options where files should be stored on disk

Configuration

Integrate / Updates

  • I typically like to use a stock Windows ISO and add updates on after the install
  • But just after a few months, the deltas are growing pretty large
  • Does really speed up time to deployment in my initial testing

Update Integration Process

  • Click the "Add" in the left pane, and select "Latest Online Updates"
  • Pick and choose what you want
  • I selected the latest monthly and a few security related updates
  • Download and click Enqueue to stage them for immediate deployment

Integrate / Registry Changes

Disable "set up network connected devices automatically"

  • Create file: DisableNetworkDeviceAutoSetup.reg
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NcdAutoSetup\Private]
    "AutoSetup"="0"
    
  • Add .reg file to "Registry Queue" List in NTlte

Clean up Clickware icons in Start Menu

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Start]
"ConfigureStartPins"="{\"pinnedList\":[{\"desktopAppId\":\"MSEdge\"},{\"packagedAppId\":\"Microsoft.WindowsStore_8wekyb3d8bbwe!App\"},{\"packagedAppId\":\"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel\"},{\"packagedAppId\":\"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App\"},{\"packagedAppId\":\"Microsoft.WindowsAlarms_8wekyb3d8bbwe!App\"},{\"packagedAppId\":\"Microsoft.WindowsNotepad_8wekyb3d8bbwe!App\"},{\"packagedAppId\":\"Microsoft.Paint_8wekyb3d8bbwe!App\"},{\"desktopAppId\":\"Microsoft.Windows.Explorer\"}]}"
"ConfigureStartPins_ProviderSet"=dword:00000000
  • Add .reg file to "Registry Queue" List in NTlte
  • The below export file was created from a fresh N edition of Windows 11, this was the source of the above .reg file
{"desktopAppId":"MSEdge"}
{"packagedAppId":"Microsoft.WindowsStore_8wekyb3d8bbwe!App"}
{"packagedAppId":"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel"}
{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"}
{"packagedAppId":"Microsoft.WindowsAlarms_8wekyb3d8bbwe!App"}
{"packagedAppId":"Microsoft.WindowsNotepad_8wekyb3d8bbwe!App"}
{"packagedAppId":"Microsoft.Paint_8wekyb3d8bbwe!App"}
{"desktopAppId":"Microsoft.Windows.Explorer"}

Remove "Outlook (new)" icon from Taskbar - started with 24H2

  • Create file: DisableOutlookIconTaskbar.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent]
"DisableCloudOptimizedContent"=dword:00000001
  • Add .reg file to "Registry Queue" List in NTlte

Post Setup

  • Disable user password expiration
    • Section: Integrate / Post Setup
    • Toolbar: Add - Template - Disable user password expiration
    • This Applies: "net accounts /maxpwage:unlimited"

Remove / Components

Apps

  • Remove: Bing Search
  • Remove: Feedback Hub
  • Remove: Flipgrid PWA
  • Remove: Game Bar
  • Remove: Game Speech Window
  • Remove: Microsoft 365 (Office)
  • Remove: Microsoft Bing Search
  • Remove: Microsoft News
  • Remove: Microsoft Photos
  • Remove: Microsoft Teams
  • Remove: Microsoft To Do
  • Remove: MSN Weather
  • Remove: Outlook for Windows
  • Remove: Outlook PWA
  • Remove: Phone Link
  • Remove: Quick Assist
  • Remove: Solitaire & Casual Games
  • Remove: Start Experiences (inboxApp)
  • Remove: Windows Co-pilot
  • Remove: Xbox App
  • Remove: Xbox TCUI

Localization

  • Language = Remove all except US/en (click on top level box once, should remove all)

Multimedia

  • remove: XBox Core

Remoting and Privacy

  • remove: Remote Assistsance
  • remove: Remote Registry
  • remove: Rights Management support
  • remove: Wi-Fi Network Manager (Wi-Fi Sense)

Configure / Settings

Desktop

  • accent color = RED FF0000
  • Allow Pinning Store app to Taskbar - disabled
  • Classic Context Menu - enabled
  • Dark mode for Windows - enabled
  • Desktop Icon - My Computer - enabled
  • Desktop Icon - Recycle Bin - enabled
  • on resume, display login screen - enabled
  • Search (Taskbar) - Icon
  • Taskbar alignment - left
  • Taskbar - show on all monitors - enabled
  • Taskbar chat - disabled
  • Taskbar widgets - disabled
  • Teams install - disabled
  • Use print screen button to open screen snipping - enabled

Explorer

  • always show more detail in file copy - enabled
  • autoplay - disabled
  • display tray items - enabled
  • Navigation pane - Automatically expand to current folder - enabled
  • Navigation pane - Gallery = Disabled
  • Navigation pane - Home = Disabled
  • Navigation pane - Libraries = Disabled
  • Open File Explorer to - This PC
  • Show Files from Office.com = Disabled
  • View - Show extensions for know file types - enable

Configure / Setting / Privacy

  • Allow Telemetry - Security (disable policy)
  • Clipboard history - enable

Disable these items:

  • Automatic installation of sponsored apps (Consumer Experience) - disable
  • Automatically connect to hotspots temporarily to see if paid network services are available - disable
  • Automatically connect to suggested open hotspots - disable
  • Automatically install suggested apps - disable
  • 3 x Collect for Cortana ...
  • Feedback Frequency
  • Let apps use user advertising ID
  • Let Microsoft provide more tailored experiences
  • Let Skype...
  • Let Windows collect my activities from this PC
  • Occasionally show suggestions in start
  • Personalize your speech, typing, and inking input by sending your input data to Microsoft
  • Pre-installed apps
  • Pre-installed OEM apps
  • Search - include BING results
  • Send Microsoft info about how I write
  • Show frequently used folders in Quick Access
  • Show me suggested content in the Settings app
  • Show me Windows welcome experience after updates
  • Show frequently used files in Quick access
  • Suggest ways I can finish setting up
  • use page prediction to improve reading, speed up browsing
  • Windows Copilot
  • Windows Copilot+ Recall
  • Windows spotlight tips

Configure / Settings / Start Menu

  • Show recommendations for tips... - disabled

Configure / Settings / System

  • Local User account setup support - enabled
  • 2x TPM and SecureBoot requirement - disabled

Revert to Legacy Setup Client:

  • In 24H2, the Setup client has changed and performs an 'Upgrade' style setup even for new builds
  • This leaves an empty c:\Windows.old directory
  • To avoid this, NTlite can invoke the old setup client:
  • HOWEVER,
    • After further testing, when using the Legacy Boot/Setup, deploying the image with Ventoy becomes problematic.
    • I see the resulting message:
      A media driver your computer needs is missing. This could be a DVD, USB or Hard disk driver. If you have a CD, DVD or USB flash drive with the driver on it, please insert it now. Note: If the installation media for Windows is in the DVD drive or on a USB drive, you can safely remove it for this step
    • "burning" the same iso image to a USB stick with Rufus can deploy windows successfully

Configure / Settings / Windows Update

  • Give me updates for other MS products - enabled
  • Show a notification when your PC requires a restart to finish updating - enabled

Configure / Services

  • Connected User Experience and Telemetry - disabled

Configure / Unattended (top of app window)

  • Enable
  • Check Boxes: copy to install image, copy to boot image, prompt edition selection

Setup standard Admin user

  • From Menu "Add local Account", no password

OOBE (Final install options) / Windows Localization

  • Input locale = US | 00000409
  • System Local = English - en-US
  • UI language = English - en-US
  • User Locale = English - en-US

OOBE (Final install options) / Shell Options

  • Set Timezone

OOBE (Final install options) / Shell Options / Out-of-box experience

  • skip EULA page = true
  • skip local account setup = true
  • skip online account setup = true
  • Skip wireless Setup = true
  • Network location = Other / Public
  • Skip 'Get going fast' page = true

Leave Default SkipMachineOOBE and SkipUserOOBE

WindowsPE (Setup Options) / Windows Localization

  • Input locale = US | 00000409
  • System Local = English - en-US
  • UI language = English - en-US
  • User Locale = English - en-US
  • Setup UI Language = English - en-US

WindowsPE (Setup Options) / Windows Setup Options / User settings

  • Skip EULA page = true

Build new ISO

Apply Section

  • Save the image
  • check remove nonessential editions
    • uncheck: Home, Pro, Pro N, Windows PE
  • reapply tasks across editions
    • expand all tabs, make sure checked boxes are correct
    • If you see an error like:
      Integrating: KB5053598 - Cumulative Update (Requirement: KB5043080) 26100.3476.1.12 -> Windows 11 WindowsPE 24H2 x64 - 10.0.26100.1 (en-US) - Package is not applicable to this image.
      • you may want to uncheck Integrate Updates on the Winre.wim 2.1 Microsoft Windows Recovery Environment
  • Create ISO
    • if alreach checked, uncheck and re-check "create ISO", assign new image name
  • Select Process button at top to start ISO build

Post Image Deployment Notes

Reinstallation of Apps that have been removed

  • I like to check if I can re-add items that I may want on specific systems (i.e. game bar, copilot, bing search, outlook, teams)
  • I don't want them everywhere, but it is nice to know I can get them back. Most are in the Microsoft Store.

Game Bar reinstallation


Pinned Quick Access Folders

  • I had originally wanted to remove most of these Pinned Quick Access Folders
    • Remove: Pictures, Music, Videos, Documents
    • Keep: Desktop, Downloads
  • But it seemed like more trouble that is was worth, however, I did find references to commands that do the job

Programmatic removal of Quick Access pinned folders

  • https://www.ntlite.com/community/index.php?threads/solved-automaticdestinations-edits-for-quick-access.2691/#post-24032

    CMD Shell (Admin)

    >nul powershell -noprofile -executionpolicy bypass -command "$p=$env:USERPROFILE + '\Pictures'; $o = New-Object -Com shell.application; ($o.Namespace('shell:::{679F85CB-0220-4080-B29B-5540CC05AAB6}').Items() | Where-Object { $_.Path -like $p }).InvokeVerb('unpinfromhome')"
    

    Powershell (Admin)

    $p=$env:USERPROFILE + "\Pictures"; $o = New-Object -Com shell.application; ($o.Namespace("shell:::{679F85CB-0220-4080-B29B-5540CC05AAB6}").Items() | Where-Object { $_.Path -like $p }).InvokeVerb("unpinfromhome")
    

Appendix

Files used to customize the Start Menu

Export_Layout.ps1

  • This creates the package list as shown in the above Registry section
  • Edit this file to remove/add as needed
$JSON = $env:TEMP + "\LayoutModification.json"

Export-StartLayout -Path $JSON
$pinnedList = (Get-Content $JSON).Replace('{"pinnedList":[','').Replace(']}','')

$StartApps = Get-StartApps

$pinnedList.Split(',') | % {
    if ($_ -match 'desktopAppLink' ) {
        $App = (($_ -split '\\\\')[-1] -split '\.')[0]
        $AppID = ($StartApps | where { $_ -match $App }).AppID
        "{`"desktopAppId`":`"$AppID`"}"
    }
    else { $_ }
}

Remove-Item $JSON

Configure_StartPins.ps1

  • Use the edited package list file as the feeder to this script. It will output the necessary .reg file
  • .\Configure_StartPins.ps1 .\LIST.TXT
Write-Output @"
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Start]
"@

$list = ((Get-Content $args[0] | Select-String -Pattern "{`"(desktop|packaged)AppId`":`"[A-Za-z0-9._!]+`"}") -join ",").Replace('"','\"')

Write-Output ('"ConfigureStartPins"="{\"pinnedList\":[' + $list.TrimEnd(",") + ']}"')
Write-Output '"ConfigureStartPins_ProviderSet"=dword:00000000'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment