Many years ago, Microsoft released a revolutionary product that still reverberates throughout the IT world today....
Server Core introduced a number of benefits to IT, but certain hurdles have stymied its progress in the enterprise.
Microsoft unveiled Server Core with Windows Server 2008. It wasn't a new operating system, but a slimmed-down version of the full server OS. Server Core removed the GUI, but kept its infrastructure functionality. This reduced the codebase and brought several advantages: a smaller attack surface, fewer patches, quicker installs and more reliability.
But the lack of a GUI also made Server Core management a challenge. The absence of a traditional Windows interface took away the comfort level for the admin when it came to deployments and overall use of the operating system.
Administrators missed the interface because, while using the command line might not have been a complete mystery, using it to manage every aspect of the OS was new. A strong focus on PowerShell to control this OS caused further discomfort for many in IT. This new language came in at a time with Server Core to make the admin feel very unwelcome in this new world.
Server Core management with PowerShell and the command prompt are two very different things. Besides the language, scripting is linear, and PowerShell is an object-oriented language. The MS-DOS command prompt has been around a lot longer, but has not kept up with the features and functionality in the newer Windows operating systems. Microsoft expanded on scripting after MS-DOS with Visual Basic Script (VBS) but that introduced security issues from VBS-based viruses. Microsoft developed PowerShell to provide extensive functionality with fewer security liabilities. PowerShell has cmdlets tightly integrated with Microsoft's newest operating systems for both basic and advanced functionality -- which MS-DOS and VBS lacked.
Microsoft aids learning efforts
PowerShell is the predominant command-line language for Windows. MS-DOS exists but has had few updates to its core. Microsoft helped establish this course in the later versions of Windows Server. Many of the traditional server configuration wizards can produce the PowerShell code for the actions the administrator executes from the GUI. This capability changed the game for many administrators with limited programming experience or time to learn PowerShell scripting. Rather than write scripts from scratch, IT pros could take the automatically generated code and manipulate it to work on other servers. This feature was a step up from taking code examples from the Internet that only worked with very specific conditions or environments.
Microsoft helped spur Server Core adoption with improved remote management with later server OS versions with its Server Manager console. While Microsoft always had some level of remote management with Windows Server 2012 and beyond, a much stronger focus on this meant the admin could use a single GUI-based server to handle Server Core management for dozens -- or even hundreds -- of installations of this minimal operating system over the network. This kept the GUI aspect the admins were familiar with but allowed the enterprise to take advantage of more Server Core deployments. While they did not get the full benefits of what PowerShell and other automation tools do, this move helped admins get started with Server Core.
When administrators start with Server Core, it's helpful to look at the long-term view. How far do you want to go with it? Some companies that want to implement Server Core will be content to use remote management, but PowerShell will unlock the full potential of this server OS deployment.
Admins new to PowerShell will have a bit of a learning curve to overcome, but a few things can help. There are utilities, such as Notepad++, that make editing PowerShell code easier with its contextual highlighting feature. Another scripting tool is Microsoft's PowerShell Integrated Scripting Environment, which can test code blocks and commands that help debug issues in a context-sensitive environment.
Server Core should only grow in popularity. Microsoft runs workloads on its new Azure Stack on Server Core. Administrators should consider its use just for the reduced patching workload.
In Windows Server 2016, the default installation is Server Core, and administrators need to manually select a different option to get the full server GUI setup. Also removed from Windows Server 2016 is the ability to install a desktop onto Server Core after deployment.
With the enhancements to remote management, the future is clear for the Microsoft server OS -- and it's without a GUI.