With the advent of Windows 10, Microsoft has finally decided to plague its own operating system with a bunch of phoney software such that running a decent Windows Manager without feeling telemetric data being syphoned from under you to Microsoft and, reputable third-parties, has become impossible.
Even Microsoft realises the abomination they have created and as such, for "server" operating systems, it has decided to create a variation called "Core" and, lately "Nano" where the bare essentials get loaded at runtime to be able to run programs without the resource hog that Windows has become.
The problem with "Core" and "Nano" server distributions is that they have been skimmed down well-past the bare minimum such that executing a simple GUI-based program does not work. For instance, even installing the .NET framework on 2016 Core does not work without appending /q /norestart
.
This article presents a short alternative that should be comprehensive enough to be able to execute any program as well as not being burdened by the ghastly interface of Windows 10.
Install the most comprehensive Windows Server variation including the Desktop Experience
and then just replace explorer.exe
by an alternate command thereby managing windows only from the command line ( either through PowerShell or the standard Windows Command Prompt).
Out of all processes, Windows uses explorer.exe
as a staging program that loads a bunch of crapware which is not needed for most situations. Server Core, on the other hand, just loads a command prompt (cmd.exe
) and the server manager (Sconfig.exe
) on startup.
First, copy the restartShell.vbs
script from the VBScript FUSS page and save it on the target machine as a file placed at C:\Windows\System32\restartShell.vbs
. The reason for using a restarted is due to the fact that Windows only restarts the shell in case the shell crashes; pressing the X
button is considered a normal termination and Windows will not restart the shell.
The next step is to to replace the explorer.exe
shell with a parametrized call to restartShell.vbs
- launch the registry editor, regedit.exe
and navigate to:
HKEY_LOCAL_MACHINE→Software→Microsoft→Windows→Windows NT→Winlogon
. Locate the STRING_SZ
key Shell
and replace the value explorer.exe
by:
C:\Windows\System32\wscript.exe C:\Windows\System32\restartShell.vbs "C:\Windows\System32\cmd.exe"
The registry editor can now be closed an the system restarted.
Now that the "desktop experience" is gone, Windows will boot to a command shell and should be way more responsive and speedy. Furthermore, if the command prompt ever gets terminated, Windows will restart the command prompt.
Additionally, since the installed server version is still the "desktop experience", any program or installed launched will work fine.
The rest of the article are convenience notes on how to utilise and trigger various Windows tasks.
Application | Start | Description |
---|---|---|
Control Panel | type control | Launches the Windows Control Panel |
Task Manager | type taskmgr , Ctrl+Shift+Esc or Ctrl+Alt+Del and select the task manager | Starts the Task Manager |
Server Configuration | type Sconfig | Launches the command-line configuration tool. |
Type powershell
to load up PowerShell in the command prompt and execute:
Invoke-WebRequest -Uri REMOTE_URL -OutFile LOCAL_FILE
where:
REMOTE_URL
is a remote URL to a file to retrieve,LOCAL_FILE
is the path to a target file to store the retrieved file as
Type powershell
to load up PowerShell in the command prompt and execute:
Expand-Archive .\archive.zip
If you do not mind third-party software, the default Explorer shell can be replaced by a fully blown graphical third-party shell.