This article is about pushing the limits of Server Core a little. Pushing it right beyond it’s comfort zone…: Transforming Windows Server 2019 Standard or Datacenter Server Core edition into a full-scale GUI-based workstation.
Obtaining GUI capabilities for Server Core is not limited to copying files, changing resolution or similar basic tasks. Our transformed Server Core is also capable of performing complex tasks such as full-scale management of virtual machines (in similar with Hyper-V Manager), Active Directory Management, port querying and much more. All via locally executed GUI-based tools.
In the case of Hyper-V Server 2019, this also means that virtual machines can rather be managed locally , thus dismissing the need for another machine and a windows license to manage VMs remotely.
“It’s about how to use the best server, in the best manner, to better accomplish the the server’s tasks and our goals.”
Windows Server 2019 with Desktop Experience (GUI) is designed to be user-friendly, but does it mean Server Core cannot enjoy both worlds by being both human-friendly and resource friendly? Can Windows Server Core not be a better fit to a human’s instinct and skills, such as working with visual triggers and tools?
Ultimately, this article is about the clarity and understanding of what “else” can Server Core do, and how can it be done via GUI-based environment and in a user-friendly manner. All of this without decreasing productivity while consuming negligible amount of resources. It’s about how to use the best server, in the best manner, to better accomplish the the server’s tasks and our goals.
In our previous blog from earlier this week, we discussed and compared Windows Server 2019 Datacenter with Standard. Then in our blog from just yesterday, we compared Server Core edition with Desktop Experience (GUI).
This article discusses Server Core of Windows Server 2019 product family, and applies just as well, and sometimes even moreover, to Windows Server 2016 and 2012 R2.
Too much talking!? Let’s Get Our Hands Dirty!
It is often perceived that Windows Server in its Server Core editions (Standard, Datacenter and Hyper-V Server), can only be managed locally, via command prompt or PowerShell. This is obviously proven wrong by the screenshot in the beginning of this article and the screenshots yet to come below. All of which demonstrate Windows Server 2019 Datacenter — Server Core with advanced capabilities via GUI-based solution..
So why is such a belief so abundant among industry professionals? Hmm… Well, this article is not about blaming or anything. But perhaps that has something to do with the statement “Manage with command prompt and PowerShell, or remotely with Windows Admin Center or other tools”. Yes, this exact and somewhat incorrect sentence appears upon the installation of Windows Server 2019 Server Core (with either Standard or Datacenter editions).
So How Does This Article Apply to Hyper-V?
Microsoft Hyper-V Server is a different product than Windows Server with Hyper-V role. How do they differ? well, for starters, Hyper-V Server is a free product for unlimited use, compared with Windows Server 2019 Datacenter running at $6,155 (MSRP).
Do they have anything in common? Yes they do. Hyper-V Server (free product) shares the exact same hypervisor as Windows Server Datacenter ($6,155). In other words, virtualization or running virtual machines will be nearly the same on either Hyper-V server or Windows Server Datacenter with Hyper-V role installed. This is true with a small objection: Datacenter contains advanced features which are not available in Hyper-V. However, the virtualization itself will be the same.
What else do the two servers share? Anything else which is major? Hmm… yes! their non-GUI experience called Server Core. Hyper-V Server 2019 and Windows Server 2019 Datacenter are both available in Server Core edition (though Datacenter may also be installed as a Desktop Experience). A comparison between Windows Server 2019 editions is available in our recent blog post, here.
Downloading Microsoft Server Core Products
One last thing before we dive in… Where can the Windows Server 2019 product family be downloaded from? As the photo on the left demonstrates, Windows Server 2019 Standard or Datacenter can be downloaded for free for a 180-day evaluation period, via Microsoft Evaluation Center.
However, this screenshot is not truly honest. No, it has not been manipulated in any way. But Microsoft recently removed their 1809 and 2019 products lines, shortly after releasing them due to supposedly critical issues.
So now what? Hmm… Either we use Windows Server 2016 product family, or we refer to this blog of ours which was published shortly after Windows Server 2019 product family was released. Direct download-links for the Windows Server evaluation products are available for free. For the last time we checked, those direct download links were still intact.
Let’s Dive In!
Server Core — Native GUI Tools
Server Core was first introduced with Windows 2008. Theoretically or perhaps even formally speaking, Server Core can be managed locally only via Command Line (or Powershell). Why? because it does not include integrated tools for local management via graphical user interface (GUI).
Why is that? why would Microsoft release a product without a GUI? Generally speaking Server Core comes from a breed of different discipline. It is rather designed to consume the least amount of resources, thus leave most resources for the system and user. As such, Server Core is designed to be managed remotely rather than locally.
However, saying that Server Core lacks GUI capabilities is far from true. As shown below, GUI tools are provided by default with Server Core. Task Manager would the most trivial to demonstrate. But bare with us, we are just warming up…
Following is a list of GUI-based programs, which are provided with Windows Server 2019 Core:
- Control.exe intl.cpl — sets up region information
- Control.exe timedate.cpl — sets up date & time
- Regedit — registry editor
- Notepad — hmm.. what would that be? <wink>
- Msinfo32.exe — displays comprehensive system information
- Taskmgr.exe — can also be executed via ctrl-alt-del
- Msiexec.exe — Windows Installer
- Cmd.exe and powershell.exe
The screenshot below demonstrates all of the programs mentioned above, running simultaneously, on Windows Server 2019 Datacenter Core edition:
Sconfig does not really deserve to be included in our list of native GUI apps. It is actually not a GUI-based app but rather a text-based configuration tool. White text on blue background is not exactly GUI in the year of 2018, right? Though it is somewhat refreshing to see such an old-school menu side by side with the most cutting edge technologies…
Sconfig obtains its pretty colors via a “color scheme” provided by the Color command, with the argument 17. Wish to try for yourself? at the command prompt simply type Color 17, and a white text on blue with join you for your next of your CMD journey.
C:\> color 17 [ENTER]
The menu of Sconfig is provided by a VBScript called sconfig.vbs which is executed via cscript, as shown in the script below. Just to be playful, we ran Sconfig in couple of other “color schemes”.
SysInternals Utilities for Server Core
Additional GUI-based tools are provided-by Microsoft, and can be downloaded for free here, straight from the Sysinternals “repository”. Following is a partial list of GUI-based Sysinternals utilities which are compatible with Core. The tools are formally or semi-formally supported by Windows 2016 Server Core, which means that they are also compatible with v2019:
- Adexplorer.exe — active directory explorer
- Procexp.exe — process explorer
- Procmon.exe — a well established and capable process monitor
- Tcpview.exe — shows detailed listings of all TCP and UDP endpoints
- Vmmap.exe — virtual & physical memory analysis tool, by process
- Rammap 1.50 — physical memory usage analysis utility
- Protqueryui.exe — port scanning, UI for PortQry command line; not available with SysInternals but can be download here (direct download)
The following screenshot demonstrates how can Windows Server Core perform multiple tasks via the GUI-based utilities of SysInternals. Earlier we’ve acknowledged the integrated GUI-based tools which are preinstalled with Server Core. In contrast, the SysInternals set of tools is by far more impressive as it provides powerful capabilities.
Additional GUI-Based “Add-On ” by Microsoft
Other options for GUI-based applications from Micrsoft can be installed via the Powershell Install-WindowsFeature command. The screenshot below (thank you Ber Herila for this Technet article) demonstrates how to setup the GUI-based application Minishell on Windows Server 2012 Core.
We are unsure whether those instructions are compatible with Windows Server 2019, though it is important for us to convey that Server Core is not only a command-prompt or PowerShell based product, thus it can be managed locally rather than only from remote. This is also true considering only Microsoft Add-ons.
Server Core — 3rd Party GUI Tools
Have we pushed Core to the max yet? Hell no! Other than what Microsoft provides, there are plenty of 3rd party GUI-based tools, which can be successfully installed on Server Core, to provide a broad range of functionalities. For instance, we installed WinRar by RarLab.com on Server Core. It seems to work just fine. Not perfectly, but fine, plus we got a limited file management capability :)
Server Core — Full Scale GUI-Based Management Capabilities
It ain’t over till the fat lady sings, right? so we’d try to finish on a major chord: Can Windows Server 2019 Core (or 2016 or 2012 R2) be transformed into a full-scale GUI-based workstation?
We added to our environment few 3rd party (non-Microsoft) tools including: Explorer++ as a file manager, 5Nine Manager as a Hyper-V manager and even an alternate shell startup to simulate the Windows desktop experience (to a degree). To make it look even more alike, we loaded the default Windows background image onto our newly Server Core GUI-transformed environment.
As seen in the screenshot below: Windows Server 2019 Core can be converted into a user-friendly GUI-based workstation, capable of performing a broad range of functions, locally, which can be done using free “GUI forming” tools.
Reservations and Balance…
By showing the graphical and local management capabilities available with Server Core, we do not mean that Core should be transformed into a Desktop Experience workstation. Yes, Server Core can be used to easily manage Hyper-V machines locally; Or to perform file management activities via tools such as WinRar and Explorer++, or to perform other tasks as demonstrated above.
We’ve tested multiple application with Server Core, and indeed the vast majority would not install / run. For example, when we tried to install an older version of Adobe Acrobat Reader, we learned it has a prerequisite of preinstalled Internet Explorer 6.0 or newer. Consequentially it would fail to install on Server Core. This is interesting, as the installation may not fail on a Windows computer with Internet Explorer removed from Windows Features:
In summary, Server Core can be stretched a little, in order to find a better middle-ground, somewhere between plain PowerShell and a complete “Desktop Experience”. The right balance might vary from one person to another and according to the needs and policies of different organizations. It is not to be expected from Core to be compatible with all Windows Desktop Experience applications. However, few goodies can go a long way when the starting point is so minimal to begin with. Major enhancements and capabilities can be obtained with ease, via the installation of few tools.
GUI-Based Hyper-V Server
All of which was discussed above regarding the Server Core GUI capabilities, should apply to Hyper-V Server 2016 or 2019, just as well. Hyper-V Server is a strapped-down version of Windows Server, in a Server Core form.
Applying such techniques and capabilities on Hyper-V Server might provide with one another added value. Hyper-V Server is a free product, though as a Server Core, it is designed to be managed only remotely, i.e. from another machine consuming a Windows license. For example, the remote administration tool RSAT requires Windows 10 or Windows Server to remotely manage Windows 2016 Server.
Our suggested settings allow the local management of VMs via GUI-based solution, from within Hyper-V Server, rather than only from remote.
Eliminating the dependency on another machine which requires another Windows license, to manage virtual machines on Hyper-V Server, might help reducing complexity and costs.
Since Hyper-V Server is a free product, then some of its user-base might be more cost-conscious, whereas simplicity is always welcome, right?
Hyper-V is Free but…
We believe that Hyper-V Server could be used as FTP client or server or as IIS (server) and beyond. However, just the fact you can do something does not mean you should. All we wish is to say is that though Hyper-V Server provides capabilities which are beyond VM virtualization, some practices might not be permitted by its license. That’s it, we’ve said it. Next.
Bonus — Remote Management
Servers are designed to be managed remotely, which is especially true with Server Core. Regardless of the server form or edition, today’s best practice consist of managing servers remotely, while having no local users logged-in.
Remote administration is made possible via proprietary remote management tools. Such tools by Microsoft include Remote Server Administration Tools (RSAT), Server Manager, MMC snap-in, Remote Desktop Services and last but not least, the new app in the block: Windows Admin Center (WAC), which is heavily promoted by Microsoft nowadays.
Unfortunately some remote management tools of Microsoft (e.g. RSAT) require Windows 10 in order to manage Windows Server 2019 or even 2016.
Windows Admin Center, a free remote management solution by Microsoft, can be installed on Server Core, and then accessed via a web-browser from older versions of Windows. In our case, we managed to manage Windows Server 2019 Datacenter Server Core, from either Chrome or Opera Browsers, running on Windows 7 without SP1. The photo below demonstrates adding a firewall rule to Server Core from remote, via Windows Admin Center (WAC).
While best practices correctly advise us to use remote administration tools to manage any and all servers, having the option to work on Server Core locally, in a user-friendly environment could prove invaluable, at times.
Server Core lacks some capabilities of the Desktop Experience editions, and thus is difficult to manage locally. We tried to soften the burden a little, and it may seems like we’ve been quite successful with that, doesn’t it!?
Desktop Experience is user-friendly though it consumes much resources (comparatively) and is naturally more prone to cyber attacks and restarts.
Server Core with our slight transformation might be the best of breed, enjoying both worlds: Having a GUI to allow management locally in one had, while being lean and mean thus enjoying all the benefits of Server Core (e.g. performance, less vulnerabilities, less restarts, etc.) at the same time.
At first we acknowledged the integrated GUI-based tools which are installed with Microsoft Server Core by default. There was nothing too special out there, though we were just warming up :)
We continued by acknowledging GUI-based SysInternals utilities, which improve productivity and allow enhanced capabilities such as active directory management, physical memory usage analysis sand more.
Before we continued to 3rd-party tools such as WinRar and Explorer++ (a file manager such as File Explorer), we’ve met with MiniShell (aka Server Manager Dashboard) for Windows Server 2012 Core. Just before desert we saw Hyper-V Manager alike tool, to manage VMs locally via GUI. And then we finished with an alternative shell startup, closing the circle by forming a complete desktop experience.
All in all, with those tools as well as others (e.g. TCPView, PortQueryUI) we managed to transform Server Core into quite a capable workstation, which is locally managed and is GUI-based.
You are now welcome to use either Server Core or Desktop Experience in the manner that works the best for you. Hopefully your range of options is slightly more flexible than just before.
Author: Haggai Yedidya, by Real Network Labs: Providing fully integrated evaluation labs (aka innovation labs, test labs), as a service. The labs are used by enterprises for the evaluation of new products as part of their purchasing process; or by software manufacturers for evaluation of new releases pre or post product launch.