Кто-нибудь знает, как Server Core знает, что он должен запустить cmd.exe в качестве оболочки?
Это просто еще одна версия Windows, и вы можете ожидать, что она будет указана так же, как всегда с NT, через один из следующих ключей реестра:
- HKLM\ Программное обеспечение \ Microsoft \ Windows NT \ CurrentVersion \ WinLogon
- HKCU \ Программное обеспечение \ Microsoft \ Windows NT \ CurrentVersion \ WinLogon
- Значение Shell, REG_SZ = исполняемый файл, запускаемый как оболочка (полный путь, если его нет в C:\ Windows).
Однако это не то, что я нашел в Server 2016 Core. Значение Shell не существует в ветви HKCU, а в ветви HKLM оно установлено как «explorer.exe», как при полной установке графического интерфейса.
Знание того, где его найти, может позволить кому-то использовать другую оболочку (например, powershell) или позволить по умолчанию открывать меню sconfig вместо просто пустого окна CMD (то есть вместо окна cmd, а не помимо него, как это было бы с помощью Запустить ключ реестра).