How does server 2016 core know it has to start cmd.exe as shell?

2

Does anyone know how Server Core knows it has to start cmd.exe as shell?

It being just another version of Windows, you would expect it to be specified the same way as it always has from NT on, via one of these registry keys:

  • HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon
  • HKCU\Software\Microsoft\Windows NT\CurrentVersion\WinLogon
  • Value Shell, REG_SZ = the executable to start as shell (full path if it isn't in C:\Windows).

However, that isn't what I found in Server 2016 Core. The Shell value doesn't exist in the HKCU branch, and in the HKLM branch it is set to "explorer.exe" like in a full GUI installation.

Knowing where to find it could allow someone to use another shell (powershell for instance), or let it open the sconfig menu by default instead of just an empty CMD window (meaning instead of the cmd window, instead of besides it as would be via the Run registry key).

Luc VdV

Posted 2018-06-20T06:54:41.413

Reputation: 121

With my limited knowledge of Windows, I find this a strange question. I always thought cmd.exe was the Windows shell command. – Gerard H. Pille – 2018-06-20T07:19:40.333

@GerardH.Pille Windows Core installations by default only start a console window and not a full blown Desktop experience with explorer.exe running etc. – Seth – 2018-06-20T07:24:44.810

A console "window"? Or just a console? Anyway, there's probably something running in that console, probably a shell, by default cmd.exe ? – Gerard H. Pille – 2018-06-20T07:30:58.437

No answers