The response by @dalija-prasnikar to my tweet thread starting at this tweet made me find your question.
Digging for "reg add" "ScoobeSystemSettingEnabled" "ContentDeliveryManager" revealed Optimizing Windows 10, Build 2004, for a Virtual Desktop role: Default User Settings | Microsoft Learn
That shows how to load and unload the C:\Users\Default\NTUSER.DAT
into the registry using a series commands piped to reg.exe
from DefaultUserSettings.txt
starting with Load HKLM\Temp C:\Users\Default\NTUSER.DAT
end ending with Unload HKLM\Temp
.
Between loading and unloading are a series of add "HKLM\Temp\....
commands that include your above ScoobeSystemSettingEnabled
setting (but differentContentDeliveryManager"
settings) now applied to the Default
template user on a Windows installation.
The GitHub repository The-Virtual-Desktop-Team/Virtual-Desktop-Optimization-Tool: The script and configuration files in this repository provide an easy method to customize and apply performance related settings to virtual desktop environments. extends on this and has morphed the DefaulUserSettings.txt
into DefaultUserSettings.json
to be ran from a PowerShell script.
It probably might be generalised to use the parameterised location of the Default
user's NTUSER.DAT
(Windows can be installed on another drive letter than C:
), and might help you in your deployment scenario as it answers your 3rd point "If the above two options fail, can I create these keys in .default
so that they'll apply to all new users when deploying a machine?".
A similar solution can be created for any user's NTUSER.DAT
: as long as they are not logged on to a machine, a service process with enough rights to their NTUSER.DAT
file should be able to access the registry, load their particular NTUSER.DAT
into a hive and apply settings.
In due time (see my profile) I plan to write a blog post on this.