(176) Microsoft Intune - Set Start Menu to not startup on logon
- Mr B SOE way
- Aug 27
- 2 min read
Updated: Aug 29
I have this customer who I have been helping over a period of time with setting up their 'Shared PCs' with some customisations, one of which he mentioned yesterday about disabling the start menu to not startup on logon.
To apply to current user only:
Wrap this up as a win32 app:
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v StartShownOnUpgrade /t REG_DWORD /d 1 /f
Alternatively you can deploy as a PowerShell script:
if((Test-Path -LiteralPath "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced") -ne $true) { New-Item "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -force -ea SilentlyContinue };
New-ItemProperty -LiteralPath 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'StartShownOnUpgrade' -Value 1 -PropertyType DWord -Force -ea SilentlyContinue;
To apply to all users who login to the device:
As we are applying to all users, you will need edit the ntuser.dat in order for the changes to take place:
Wrap this up as a win32 app:
reg.exe add "HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v StartShownOnUpgrade /t REG_DWORD /d 1 /f
Alternatively you can deploy this a a PowerShell:
if((Test-Path -LiteralPath "Registry::\HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced") -ne $true) { New-Item "Registry::\HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -force -ea SilentlyContinue };
New-ItemProperty -LiteralPath 'Registry::\HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'StartShownOnUpgrade' -Value 1 -PropertyType DWord -Force -ea SilentlyContinue;
To wrap as a win32 app:
#region Config
$AppName = $PName + "_"+ $Pversion +"_Package"
$client = "MR B SOE Way"
$logPath = "$env:ProgramData\$client\logs"
$logFile = "$logPath\Disable Start Menu on First Logon.log"
#endregion
#region Logging
if (!(Test-Path -Path $logPath)) {
New-Item -Path $logPath -ItemType Directory -Force | Out-Null
}
Start-Transcript -Path $logFile -Force
Write-Host "Disable Start Menu on First Logon...."
# Create a tag file just so Intune knows this was installed
if (-not (Test-Path "$($env:ProgramData)\MRB\StartMenu")) {
Mkdir "$($env:ProgramData)\MrB\StartMenu"
}
Set-Content -Path "$($env:ProgramData)\MrB\StartMenu\StartMenu.ps1.tag" -Value "Installed"
if((Test-Path -LiteralPath "Registry::\HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced") -ne $true) { New-Item "Registry::\HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -force -ea SilentlyContinue };
New-ItemProperty -LiteralPath 'Registry::\HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'StartShownOnUpgrade' -Value 1 -PropertyType DWord -Force -ea SilentlyContinue;
Write-Host "Script completed successfully.."
Stop-Transcript
if (test-path "C:\ProgramData\MrB\StartMenu\StartMenu.ps1.tag"){"Installed"}
Make sure to deploy as "System" context, ensure to add the win32 app to the ESP.
On deployment, when you login you won't see the start menu load up after you login
Comments