Win10-Initial-Setup-Script
Win10-Initial-Setup-Script copied to clipboard
Choose which folders appear on Start
It's a really small feature. Windows 10 defaults to these icons in the Start menu:
Screenshot
IMO they're useless except for the 'Settings' one. So I just want to leave the 'File Explorer' and 'Settings' icons enabled, like this:
Screenshot
Right-clicking one of those icons gives you this 'Personalize this list' option:
Screenshot
Which then enables you to personalize them:
Screenshot
That's it. Hope that's feasible. And thanks for this amazing tool!
Last time I've checked, these were stored in one of the impossible-to-read binary blobs, otherwise the tweak would already exist as I also find them useless and remove them.
I'll check again. Maybe I'll figure out something this time.
these were stored in one of the impossible-to-read binary blobs
Yeah, you're right. I don't think it could be done easily, unless you store every single combination of icons possible. lol
Anyway, for my use case ('File Explorer' and 'Settings' icons only), I'll be using this cmdlet for now:
$FileExplorerAndSettings = "02,00,00,00,d4,ca,e9,80,d4,bb,d4,01,00,00,00,00,43,42,01,00,cb,32,0a,02,05,bc,c9,a8,a4,01,24,8c,ac,03,44,89,85,01,66,a0,81,ba,cb,bd,d7,a8,a4,82,01,00,05,86,91,cc,93,05,24,aa,a3,01,44,c3,84,01,66,9f,f7,9d,b1,87,cb,d1,ac,d4,01,00,c2,3c,01,c2,46,01,c5,5a,01,00"
$Key = Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*windows.data.unifiedtile.startglobalproperties\Current"
$BinaryData = [byte[]](($FileExplorerAndSettings.Split(',')) | % { "0x$_" })
Set-ItemProperty -Path $Key.PSPath -Name "Data" -Type Binary -Value $BinaryData
I had to restart Windows Explorer for it to work.
I think I've got it.
First 20 bytes of the value are always 02,00,00,00,xx,xx,xx,xx,xx,xx,xx,xx,00,00,00,00,43,42,01,00
where xx
bytes are a timestamp (presumably of the last change). These can be all taken from data currently present in the registry as they have no significance for the rest of the tweak.
Then it depends if you want to have any items or not. If you don't, then go directly to the last part.
If you do, then next 4 bytes are cb,32,0a,yy
, where yy
is number of items (presumably some list/array length).
Then you chain the items you want to display. An item always starts with byte 05
and ends with 00
.
-
05,bc,c9,a8,a4,01,24,8c,ac,03,44,89,85,01,66,a0,81,ba,cb,bd,d7,a8,a4,82,01,00
= File explorer -
05,86,91,cc,93,05,24,aa,a3,01,44,c3,84,01,66,9f,f7,9d,b1,87,cb,d1,ac,d4,01,00
= Settings -
05,ce,ab,d3,e9,02,24,da,f4,03,44,c3,8a,01,66,82,e5,8b,b1,ae,fd,fd,bb,3c,00
= Documents -
05,af,e6,9e,9b,0e,24,de,93,02,44,d5,86,01,66,bf,9d,87,9b,bf,8f,c6,d4,37,00
= Downloads -
05,a0,8c,ac,80,0b,24,d1,fe,01,44,b2,98,01,66,aa,bd,d0,e1,cc,ea,df,b9,15,00
= Music -
05,a0,8f,fc,c1,03,24,8a,d0,03,44,80,99,01,66,b0,b5,99,dc,cd,b0,97,de,4d,00
= Pictures -
05,c5,cb,ce,95,04,24,86,fb,01,44,f4,85,01,66,80,c9,ce,d4,af,d9,9e,c4,b5,01,00
= Videos -
05,c4,82,d6,f3,0f,24,8d,10,44,ae,85,01,66,8b,b5,d3,e9,fe,d2,ed,b1,94,01,00
= Network -
05,ca,e0,f6,a5,07,24,ca,f2,03,44,e8,9e,01,66,8b,ad,8f,c2,f9,a0,87,d4,bc,01,00
= Personal folders
Last 10 bytes are always c2,3c,01,c2,46,01,c5,5a,01,00
.
So the universal tweak could look as follows (with explorer and settings set in $itemsToDisplay
on the first line):
$itemsToDisplay = @("explorer", "settings")
$key = Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*windows.data.unifiedtile.startglobalproperties\Current"
$data = $key.Data[0..19] -Join ","
If ($itemsToDisplay.Length -gt 0) {
$data += ",203,50,10,$($itemsToDisplay.Length)"
If ($itemsToDisplay -contains "explorer") {
$data += ",5,188,201,168,164,1,36,140,172,3,68,137,133,1,102,160,129,186,203,189,215,168,164,130,1,0"
}
If ($itemsToDisplay -contains "settings") {
$data += ",5,134,145,204,147,5,36,170,163,1,68,195,132,1,102,159,247,157,177,135,203,209,172,212,1,0"
}
If ($itemsToDisplay -contains "documents") {
$data += ",5,206,171,211,233,2,36,218,244,3,68,195,138,1,102,130,229,139,177,174,253,253,187,60,0"
}
If ($itemsToDisplay -contains "downloads") {
$data += ",5,175,230,158,155,14,36,222,147,2,68,213,134,1,102,191,157,135,155,191,143,198,212,55,0"
}
If ($itemsToDisplay -contains "music") {
$data += ",5,160,140,172,128,11,36,209,254,1,68,178,152,1,102,170,189,208,225,204,234,223,185,21,0"
}
If ($itemsToDisplay -contains "pictures") {
$data += ",5,160,143,252,193,3,36,138,208,3,68,128,153,1,102,176,181,153,220,205,176,151,222,77,0"
}
If ($itemsToDisplay -contains "videos") {
$data += ",5,197,203,206,149,4,36,134,251,1,68,244,133,1,102,128,201,206,212,175,217,158,196,181,1,0"
}
If ($itemsToDisplay -contains "network") {
$data += ",5,196,130,214,243,15,36,141,16,68,174,133,1,102,139,181,211,233,254,210,237,177,148,1,0"
}
If ($itemsToDisplay -contains "personal") {
$data += ",5,202,224,246,165,7,36,202,242,3,68,232,158,1,102,139,173,143,194,249,160,135,212,188,1,0"
}
}
$data += ",194,60,1,194,70,1,197,90,1,0"
Set-ItemProperty -Path $key.PSPath -Name "Data" -Type Binary -Value $data.Split(",")
Now only to figure it out how to make an accessible and mostly foolproof tweak out of this. :)
Great job!
Hello
I've been skimming through the Microsoft API references, and am narrowing down the Desktop, Shell, Menu, Tiles, and what ever else MSFT have used to try and obfuscate the Start Menu API.. but I came across where the Start Menu, is referenced as "Launcher". I am also going to be skimming through the CRT and COM API.
Original Post
This may be something way off, but is similar to the data structure in the Reg Key. Shell Column State: https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/index
typedef enum tagSHCOLSTATE {
SHCOLSTATE_DEFAULT,
SHCOLSTATE_TYPE_STR,
SHCOLSTATE_TYPE_INT,
SHCOLSTATE_TYPE_DATE,
SHCOLSTATE_TYPEMASK,
SHCOLSTATE_ONBYDEFAULT,
SHCOLSTATE_SLOW,
SHCOLSTATE_EXTENDED,
SHCOLSTATE_SECONDARYUI,
SHCOLSTATE_HIDDEN,
SHCOLSTATE_PREFER_VARCMP,
SHCOLSTATE_PREFER_FMTCMP,
SHCOLSTATE_NOSORTBYFOLDERNESS,
SHCOLSTATE_VIEWONLY,
SHCOLSTATE_BATCHREAD,
SHCOLSTATE_NO_GROUPBY,
SHCOLSTATE_FIXED_WIDTH,
SHCOLSTATE_NODPISCALE,
SHCOLSTATE_FIXED_RATIO,
SHCOLSTATE_DISPLAYMASK
} SHCOLSTATE;
The Reg Key data could also be hidden somewhere in the GPO API, or the Data Structures API. https://docs.microsoft.com/en-us/windows/desktop/api/wtypesbase/ns-wtypesbase-blob https://docs.microsoft.com/en-us/windows/desktop/api/OleDlg/ns-oledlg-tagoleuignrlpropsa
typedef struct tagOLEUIOBJECTPROPSA {
DWORD cbStruct;
DWORD dwFlags;
LPPROPSHEETHEADERA lpPS;
DWORD dwObject;
LPOLEUIOBJINFOA lpObjInfo;
DWORD dwLink;
LPOLEUILINKINFOA lpLinkInfo;
LPOLEUIGNRLPROPSA lpGP;
LPOLEUIVIEWPROPSA lpVP;
LPOLEUILINKPROPSA lpLP;
} OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
What is frustrating is that the marketable name 'Start Menu' does not return any search results using Microsoft's Search Engine for Docs. Neither does 'Task Bar'. The Start Menu isn't part of the Menu API, as I think this handles the Win32 Forms Menu Bar.
It's also frustrating that there have been deprecated API for Tiles, and I think they are still in the middle of sorting out the Documents Pages.
I'll be back when I find more Info.
edit: I think Start Menu may be part of the Windows Property System, Shell Object Core.. https://docs.microsoft.com/en-us/windows/desktop/api/_properties/ https://docs.microsoft.com/en-us/windows/desktop/api/shobjidl_core/
EDIT: Found it. Now to analyse. https://docs.microsoft.com/en-us/windows/desktop/api/shobjidl_core/nf-shobjidl_core-ishellmenu-setshellfolder
I'm going to play around on a VM later, and see if I can get the shortcuts appearing in different order, or adding my own shortcuts
@guixxx Found Them: 0 == Hide, 1 == Show
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\ControlPanel /v DefaultValue /t REG_DWORD /d 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Documents /v DefaultValue /t REG_DWORD /d 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Downloads /v DefaultValue /t REG_DWORD /d 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Music /v DefaultValue /t REG_DWORD /d 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Network /v DefaultValue /t REG_DWORD /d 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Personal /v DefaultValue /t REG_DWORD /d 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Pictures /v DefaultValue /t REG_DWORD /d 0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Videos /v DefaultValue /t REG_DWORD /d 0
These don't seem to do anything. Neither for current user, nor for newly created ones.
@Disassembler0 Sorry, I was on my mobile when I posted that.
I'm still in the middle of tracing which of the OSD configuration passes writes to the registry - overriding the set values stored with the default predetermined value. Looking through Windows SystemResources Windows.UI.Shell & Windows.UI.* and then also in SystemApps Windows.StartExperienceHost
https://i.imgur.com/pha3NHL.jpg
Some of the SystemResources.mun contain strings which other components use to write to registry, so this may also be used by what ever it is that's controlling the Pinned Items. I haven't done this stuff for a long time, so I'm a bit slow and rusty.
There's also the possibility that corresponding resources in Winre.wim may need to be set to equal values - as I have encountered scenarios where Windows detects changes, and uses the WinSxS to restore the health of the system.
I'm not entirely sure if you're on the correct track. StartMenuExperienceHost.exe is the Start Menu itself, but it doesn't write the registry values we're after. This is the call stack (on 1903, build 18362.116) which leads from the thread start to the registry write
"Frame","Module","Location","Address","Path"
"0","ntoskrnl.exe","SeUnlockSubjectContext + 0x20df","0xfffff801655f0b1f","C:\Windows\system32\ntoskrnl.exe"
"1","ntoskrnl.exe","FsRtlAcknowledgeEcp + 0x1890","0xfffff80165647bf0","C:\Windows\system32\ntoskrnl.exe"
"2","ntoskrnl.exe","setjmpex + 0x7b55","0xfffff801651cdf95","C:\Windows\system32\ntoskrnl.exe"
"3","ntdll.dll","NtSetValueKey + 0x14","0x7ffcb391cc54","C:\Windows\SYSTEM32\ntdll.dll"
"4","KERNELBASE.dll","RegSetValueExW + 0x388","0x7ffcb140d918","C:\Windows\System32\KERNELBASE.dll"
"5","KERNELBASE.dll","RegSetValueExW + 0x147","0x7ffcb140d6d7","C:\Windows\System32\KERNELBASE.dll"
"6","KERNELBASE.dll","RegSetKeyValueW + 0x55","0x7ffcb144d965","C:\Windows\System32\KERNELBASE.dll"
"7","Windows.CloudStore.dll","DllGetClassObject + 0x1271","0x7ffc9f382b31","C:\Windows\System32\Windows.CloudStore.dll"
"8","Windows.CloudStore.dll","DllCanUnloadNow + 0x194b","0x7ffc9f37d4cb","C:\Windows\System32\Windows.CloudStore.dll"
"9","Windows.CloudStore.dll","DllCanUnloadNow + 0x1807","0x7ffc9f37d387","C:\Windows\System32\Windows.CloudStore.dll"
"10","Windows.CloudStore.dll","DllGetClassObject + 0xa518","0x7ffc9f38bdd8","C:\Windows\System32\Windows.CloudStore.dll"
"11","Windows.CloudStore.dll","DllGetClassObject + 0x34b8b","0x7ffc9f3b644b","C:\Windows\System32\Windows.CloudStore.dll"
"12","StartTileData.dll","GetSetting + 0x13ccf4","0x7ffc9bc71974","C:\Windows\System32\StartTileData.dll"
"13","StartTileData.dll","GetSetting + 0x144858","0x7ffc9bc794d8","C:\Windows\System32\StartTileData.dll"
"14","StartTileData.dll","GetSetting + 0x14a767","0x7ffc9bc7f3e7","C:\Windows\System32\StartTileData.dll"
"15","StartTileData.dll","DllCanUnloadNow + 0x98fc","0x7ffc9ba5c58c","C:\Windows\System32\StartTileData.dll"
"16","StartTileData.dll","GetSetting + 0x139a9c","0x7ffc9bc6e71c","C:\Windows\System32\StartTileData.dll"
"17","StartTileData.dll","GetSetting + 0x13e6fc","0x7ffc9bc7337c","C:\Windows\System32\StartTileData.dll"
"18","StartTileData.dll","GetSetting + 0x13e64a","0x7ffc9bc732ca","C:\Windows\System32\StartTileData.dll"
"19","StartTileData.dll","GetSetting + 0x144089","0x7ffc9bc78d09","C:\Windows\System32\StartTileData.dll"
"20","StartTileData.dll","GetSetting + 0x1478c0","0x7ffc9bc7c540","C:\Windows\System32\StartTileData.dll"
"21","StartTileData.dll","GetSetting + 0x14c18b","0x7ffc9bc80e0b","C:\Windows\System32\StartTileData.dll"
"22","StartTileData.dll","DllCanUnloadNow + 0x1a9e","0x7ffc9ba5472e","C:\Windows\System32\StartTileData.dll"
"23","StartTileData.dll","GetSetting + 0x14d007","0x7ffc9bc81c87","C:\Windows\System32\StartTileData.dll"
"24","StartTileData.dll","GetSetting + 0x1502f3","0x7ffc9bc84f73","C:\Windows\System32\StartTileData.dll"
"25","StartTileData.dll","DllCanUnloadNow + 0x6e4","0x7ffc9ba53374","C:\Windows\System32\StartTileData.dll"
"26","StartTileData.dll","DllGetActivationFactory + 0x7555","0x7ffc9ba51db5","C:\Windows\System32\StartTileData.dll"
"27","ntdll.dll","TpReleaseWait + 0x54d","0x7ffcb38b082d","C:\Windows\SYSTEM32\ntdll.dll"
"28","ntdll.dll","RtlInitializeResource + 0xce4","0x7ffcb38b45c4","C:\Windows\SYSTEM32\ntdll.dll"
"29","KERNEL32.DLL","BaseThreadInitThunk + 0x14","0x7ffcb28b7bd4","C:\Windows\System32\KERNEL32.DLL"
"30","ntdll.dll","RtlUserThreadStart + 0x21","0x7ffcb38ece71","C:\Windows\SYSTEM32\ntdll.dll"
PITA will be to get the proper parameters which are getting passed, as there are ridiculously few exposed DLL functions. This is where IDA will come in really handy.
StartTileData.dll exposes:
- DllCanUnloadNow
- DllGetActivationFactory
- DllGetClassObject
- GetSetting
- HasMigratedTDLData
- TryMigrateTDLData
and Windows.CloudStore.dll exposes:
- DllCanUnloadNow
- DllGetActivationFactory
- DllGetClassObject
- GetProxyDllInfo
But this was just a swift analysis, maybe you're already much farther than I think.
@Disassembler0
There's a few possible solutions to set the Pinned Folders;
- the main one you have already given the example for by injecting the binary data
- finding the the administrative version via policies
- finding the task associated or template used that writes the data structure that the cloud store eventually uses (which is the one i'm attempting to find)
tldr
another solution could be to trick the StartTileData to thinking that it is coming from an existing installation, and use TryMigrateTDLData - however - this was also one of the issues that got me starting to dive in to OSD - as there are lots of things breaking with Windows. Tile Data Layer is one/was of them. It's been deprecated - and I think the new functions could be handled by DataExchange.dll or Windows.UI.Immersive.dll - I haven't had a chance to look at them yet.Actually, MS just updated the Docs pages that I complained about and listed what has replaced TLD.
Tile Data Layer To be replaced by the Tile Store.
At the same time - this could be why the Registry Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\ControlPanel isn't affecting 1903 - I'm just doing guess work.
EDIT: I just found this - but haven't had the chance to go through it yet - https://4sysops.com/archives/roaming-profiles-and-start-tiles-tiledatalayer-in-the-windows-10-1703-creators-update/
I think I've found part of the API, I will look more tomorrow. This is just for bookmark.
10.0.18362.0\um Windows.Storage.Provider - Cloud Windows.System.UserProfile shappmgr ... shtypes ShlObj.h ShlObj_core.h
REST_NOUSERNAMEINSTARTPANEL = 0x40000062, // don't show the username is the startpanel.
REST_NOMYCOMPUTERICON = 0x40000063, // don't show my computer anywhere, hide its contents
REST_NOSMNETWORKPLACES = 0x40000064, // don't show network places in startpanel.
REST_NOSMPINNEDLIST = 0x40000065, // don't show the pinned list in startpanel.
REST_NOSMMYMUSIC = 0x40000066, // don't show MyMusic folder in startpanel
REST_NOSMEJECTPC = 0x40000067, // don't show "Undoc PC" command in startmenu
REST_NOSMMOREPROGRAMS = 0x40000068, // don't show "More Programs" button in StartPanel.
REST_NOSMMFUPROGRAMS = 0x40000069, // don't show the MFU programs list in StartPanel.
REST_NOTRAYITEMSDISPLAY = 0x4000006A, // disables the display of the system tray
REST_NOTOOLBARSONTASKBAR = 0x4000006B, // disables toolbar display on the taskbar
Long post
Just updating my investigating.I'm heavily in to the ADK API and Component Installation - it's in conjecture with my other investigation of the Servicing Stack and why it was uninstalling critical components and not reinstalling them - similar to what happened in 2017.
The servicing stack and Windows setup share source files - this is most likely the reason why any registry modifications are reverted for user profiles until the final phases/configuration pass of the image deployment - "Specialize" and/or "Re-specialize".
The ADK has template HIV (Hive) files for Setup - I just haven't looked in there yet, as I'm still doing traces, as a bulk of what I'm doing spans across the entire life-cycle of the OS (I'm trying to rectify and provide a solution to ensure that people with older hardware don't have their system disks rearranged - as in 2015, my NVMe drive didn't exist for windows - depending on what program was used to identify the hardware - There was no NVMe Enumerator for WMIC BusType back then, and also at one stage, the other SSD I had installed was reported back as IDE) DevCon Get-Disk Get-PhysicalDisk DISKPART WMIC (I ran a test last night, and finally, all 5 will report matching BusType - I complained about this on the MSDN forums a while ago)
I've found some new registry entries - which are likely related to the Start Panel - but am working out how they are referenced or called. (This currently doesn't have any effect on OSD)
REG LOAD HKU\TEMPSOFTWARE "E:\WinROG\mount\OS\Windows\System32\config\SOFTWARE"
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowPCSettings /t REG_DWORD /d 1 /f
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowPersonal /t REG_DWORD /d 1 /f
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowNetwork /t REG_DWORD /d 1 /f
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowPictures /t REG_DWORD /d 0 /f
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowDocuments /t REG_DWORD /d 0 /f
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowDownloads /t REG_DWORD /d 0 /f
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowMusic /t REG_DWORD /d 0 /f
REG ADD "HKU\TEMPSOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_ShowVideos /t REG_DWORD /d 0 /f
REG UNLOAD HKU\TEMPSOFTWARE
Key Values for directories (Can be HKCU or HKLM) Note that HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu does not exist.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems
Bitmap REG_SZ %SystemRoot%\System32\imageres.dll,5100
Text REG_SZ @shell32.dll,-30608
Type REG_SZ group
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\ControlPanel
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\DefaultPrograms
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Devices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Documents
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Downloads
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Help
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Homegroup
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Music
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Network
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\PCSettings
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Personal
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Pictures
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\ThisPC
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Videos
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\PinnedItems\Documents
CheckedValue REG_DWORD 0x1
DefaultValue REG_DWORD 0x1
HKeyRoot REG_DWORD 0x80000001
RegPath REG_SZ Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Text REG_SZ @shell32.dll,-30612
Type REG_SZ checkbox
UncheckedValue REG_DWORD 0x0
ValueName REG_SZ Start_ShowDocuments
PS E:\WinROG> REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Start_TrackDocs REG_DWORD 0x1
TaskbarSizeMove REG_DWORD 0x0
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DelayedApps
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\NavPane
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Start_SearchFiles REG_DWORD 0x2
ServerAdminUI REG_DWORD 0x0
Hidden REG_DWORD 0x2
ShowCompColor REG_DWORD 0x1
HideFileExt REG_DWORD 0x0
DontPrettyPath REG_DWORD 0x0
ShowInfoTip REG_DWORD 0x1
HideIcons REG_DWORD 0x0
MapNetDrvBtn REG_DWORD 0x0
WebView REG_DWORD 0x1
Filter REG_DWORD 0x0
ShowSuperHidden REG_DWORD 0x1
SeparateProcess REG_DWORD 0x1
AutoCheckSelect REG_DWORD 0x1
IconsOnly REG_DWORD 0x0
ShowTypeOverlay REG_DWORD 0x1
ShowStatusBar REG_DWORD 0x1
StoreAppsOnTaskbar REG_DWORD 0x1
ListviewAlphaSelect REG_DWORD 0x1
ListviewShadow REG_DWORD 0x1
TaskbarAnimations REG_DWORD 0x1
StartMenuInit REG_DWORD 0xd
TaskbarStateLastRun REG_BINARY E083ED5C00000000
ReindexedProfile REG_DWORD 0x1
Start_TrackProgs REG_DWORD 0x0
LaunchTo REG_DWORD 0x1
DisablePreviewDesktop REG_DWORD 0x0
TaskbarSizeMove REG_DWORD 0x1
TaskbarSmallIcons REG_DWORD 0x1
TaskbarGlomLevel REG_DWORD 0x0
ShowSyncProviderNotifications REG_DWORD 0x0
ShellViewReentered REG_DWORD 0x1
MMTaskbarMode REG_DWORD 0x1
MMTaskbarEnabled REG_DWORD 0x1
ShowCortanaButton REG_DWORD 0x1
ShowEncryptCompressedColor REG_DWORD 0x1
NavPaneShowAllFolders REG_DWORD 0x1
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People
Theme (Use AppsUseLightTheme and SystemUsesLightTheme)
PS E:\WinROG> REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\"
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme
Bitmap REG_EXPAND_SZ %SystemRoot%\System32\imageres.dll,114
Text REG_SZ @shell32.dll,-51729
Type REG_SZ group
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USEDARKMODE
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USELIGHTMODE
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USESYSTEMMODE
PS E:\WinROG> REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USESYSTEMMODE"
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USESYSTEMMODE
CheckedValue REG_DWORD 0x1
DefaultValue REG_DWORD 0x1
HKeyRoot REG_DWORD 0x80000001
RegPath REG_SZ Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Text REG_SZ @shell32.dll,-51732
Type REG_SZ radio
ValueName REG_SZ Theme
PS E:\WinROG> REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USEDARKMODE"
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USEDARKMODE
CheckedValue REG_DWORD 0x2
DefaultValue REG_DWORD 0x0
HKeyRoot REG_DWORD 0x80000001
RegPath REG_SZ Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Text REG_SZ @shell32.dll,-51731
Type REG_SZ radio
ValueName REG_SZ Theme
PS E:\WinROG> REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USELIGHTMODE"
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Theme\USELIGHTMODE
CheckedValue REG_DWORD 0x3
DefaultValue REG_DWORD 0x0
HKeyRoot REG_DWORD 0x80000001
RegPath REG_SZ Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Text REG_SZ @shell32.dll,-51730
Type REG_SZ radio
ValueName REG_SZ Theme
PS E:\WinROG> REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize"
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize
ColorPrevalence REG_DWORD 0x0
EnableTransparency REG_DWORD 0x1
AppsUseLightTheme REG_DWORD 0x0
SystemUsesLightTheme REG_DWORD 0x0
With what is observable of the Windows UI - setting registry values from the registry - and not via the immersive control panel - sometimes can have undesired effects at times - where the UI will appear bugged as toggle switches or radio buttons have a different visual appearance to what is set in registry, and sometimes require the user to "kickstart" the bugged/stuck setting to trigger the desired effect.
This is what is currently happening with Multiple Displays and the Brightness Slider, when the Main display is set as one of the connected Displays. Example: My laptop has 5 different monitor configurations
- Single Display
- Dual Display (Main Display == Display 1)
- Dual Display (Main Display == Display 2)
- Triple Display (Main Display == Display 1)
- Triple Display (Main Display == Display 3)
In configurations where the main display is set to the external monitors, some fullscreen apps or daily usage triggers my laptop display to go to 100% brightness, yet the Action Center Slider is at minimum. The display won't change to the visual setting until I nudge the slider, and only after doing so, will slider value be correctly represented with changes to display brightness on the laptop display.
I'll also let you guys wrap your head around this: (This is another reason why Microsoft can't get the Action Center animations nested to the correct screen right)
I'll be back when I gather more information.
EDIT:
Adding this for reference:
@Disassembler0
_ProviderSet"=dword:00000000 == Allows User Toggle _ProviderSet"=dword:00000001 == Blocks User Toggle "AllowPinnedFolderXXXXXXXXXXXX"=dword:00000001 == Show "AllowPinnedFolderXXXXXXXXXXXX"=dword:00000000 == Hide
fuckyoumicrosoft.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Start]
"AllowPinnedFolderDocuments"=dword:00000001
"AllowPinnedFolderDocuments_ProviderSet"=dword:00000001
"AllowPinnedFolderDownloads"=dword:00000001
"AllowPinnedFolderDownloads_ProviderSet"=dword:00000001
"AllowPinnedFolderFileExplorer"=dword:00000001
"AllowPinnedFolderFileExplorer_ProviderSet"=dword:00000001
"AllowPinnedFolderMusic"=dword:00000001
"AllowPinnedFolderMusic_ProviderSet"=dword:00000001
"AllowPinnedFolderNetwork"=dword:00000001
"AllowPinnedFolderNetwork_ProviderSet"=dword:00000001
"AllowPinnedFolderPersonalFolder"=dword:00000001
"AllowPinnedFolderPersonalFolder_ProviderSet"=dword:00000001
"AllowPinnedFolderPictures"=dword:00000001
"AllowPinnedFolderPictures_ProviderSet"=dword:00000001
"AllowPinnedFolderSettings"=dword:00000001
"AllowPinnedFolderSettings_ProviderSet"=dword:00000001
"AllowPinnedFolderVideos"=dword:00000001
"AllowPinnedFolderVideos_ProviderSet"=dword:00000001
I'm testing this setting on OSD Environment during Offline servicing... but I still need to find the other variables
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Start]
"AllowPinnedFolderDocuments"=dword:00000001
"AllowPinnedFolderDocuments_ProviderSet"=dword:00000001
"AllowPinnedFolderDownloads"=dword:00000001
"AllowPinnedFolderDownloads_ProviderSet"=dword:00000001
"AllowPinnedFolderFileExplorer"=dword:00000001
"AllowPinnedFolderFileExplorer_ProviderSet"=dword:00000001
"AllowPinnedFolderMusic"=dword:00000001
"AllowPinnedFolderMusic_ProviderSet"=dword:00000001
"AllowPinnedFolderNetwork"=dword:00000001
"AllowPinnedFolderNetwork_ProviderSet"=dword:00000001
"AllowPinnedFolderPersonalFolder"=dword:00000001
"AllowPinnedFolderPersonalFolder_ProviderSet"=dword:00000001
"AllowPinnedFolderPictures"=dword:00000001
"AllowPinnedFolderPictures_ProviderSet"=dword:00000001
"AllowPinnedFolderSettings"=dword:00000001
"AllowPinnedFolderSettings_ProviderSet"=dword:00000001
"AllowPinnedFolderVideos"=dword:00000001
"AllowPinnedFolderVideos_ProviderSet"=dword:00000001
Just tested the OSD, Audit Mode settings persist. Make sure it's PolicyManager\default\Start, not PolicyManager\default\device\start Online Registry path is: PolicyManager\current\device\start
I just tried to set the registry keys on 2 machines v1809 and it doesn't work. All the values are set on 0 but wen a user logs in, all the pinned folders are visible and the user can change it through Settings. Am I missing something ?