The current version of Exchange can, and in most cases should, be installed on Windows Server Core. Windows Server Core is a version of the Windows Server operating system that does not have a Graphical User Interface (GUI). Since “windows” are well ingrained into the administrative habits of most of us Windows Server administrators, it’s reasonable to expect that most Exchange administrators are going to be a bit hesitant to go down this route.
In this blog post I’m going to look how to install Exchange 2019 on Server Core, the reasons why you should be installing all your new Exchange servers on Server Core, and how using Server Core is going to make you a better administrator.
The Benefits of Windows Server Core
Windows Server 2019 Core is a version of Windows Server that does not have a Graphical User Interface. No Windows, nowhere to click, no Start menu, just a command-line interface. The lack of a Windows interface on a Windows Server can be tough to handle for most Windows administrators. If we wanted to be UNIX administrators, that option has always been there.
The upside to Windows Server Core is that there are less things running on your server, and you really don’t need those things anyway. The GUI is just more code running on your Exchange server taking up RAM and CPU cycles, and that code means more places for the bad guys to find a way into your network.
Managing an Exchange server without a GUI really isn’t any harder than managing a “normal” Exchange server either. When is the last time you logged into your Exchange servers for admin tasks? If the answer is anything other than “A really long time ago” then you are probably doing something wrong. The Exchange Admin Center and remote PowerShell both allow you to do all the Exchange admin tasks you need to do without the need to log on locally to your Exchange server. Unless you install Exchange with Active Directory split permissions, anyone who logs on locally to an Exchange server has a lot of potential access to your whole Active Directory.
Installing Exchange 2019 on Server Core 2019
Here a quick guide for how to install Exchange Server 2019 on Windows Server Core 2019. This is the only version of Exchange on the only Operating System where this is supported. We’ll assume you got though the server installation. I’d recommend running though this process in your lab a couple of times before you try it on a production server.
Once you log into the server, you’ll need to start PowerShell. In the command prompt type:
Assign an IP address and DNS
Now your Exchange server is going to need a static IP address. In the PowerShell window you can run the following command to show you the Network Interfaces on your server.
Now that you know the NIC cards on your server, you can run something like the following to assign a static IP address.
New-NetIPAddress -InterfaceIndex 2 -IPAddress 192.168.12.101 -PrefixLength 24 -DefaultGateway 192.168.12.100
Next you need to assign your DNS server.
Set-DNSClientServerAddress -InterfaceIndex 2 -ServerAddress "192.168.12.200"
Enable Remote Desktop and Windows Features
Now we have network connection to our new Exchange server, so let’s enable Remote Desktop. Yup, you can do that with the following command.
cscript C:\Windows\System32\Scregedit.wsf /ar 0
Now, there are some Windows Features we do need installed on this server before we can run the Exchange install. We need these for UMCA and AD setup.
Install-WindowsFeature Server-Media-Foundation, RSAT-ADDS
Download and Install Software
For this part, we’re going to need to use your workstation. Download the latest Exchange 2019 CU (That’s CU1 as of this writing, but it’s possible you’re in the future). The Exchange server pre-requisites can be found HERE. I’m not going to list them since .net will be updated as time goes on.
Download all the pre-reqs and copy them to our new Exchange server somewhere you can install them from. I’d suggest C:\Temp, but whatever folder works for you is fine.
Install the VC++ 2013 Redistributable by running the executable.
To install the UCMA, you need to mount the Exchange Server ISO.
Then navigate to the UCMARedist folder under the newly mounted drive and run setup.exe. Next install the proper version of .net (4.7.1 as of this writing, but again with the future thing).
Join Domain and Restart and Install Exchange
Last step before we run the Exchange server install is to join the server to your Active Directory Domain and to restart. You’ll probably want to change the name of your server too, so that’s included.
Add-Computer -DomainName domain.com -NewName Ex01 -DomainCredential domain\administrator
After the reboot you’ll need to remount the Exchange ISO, then start the install
.\Setup.exe /m:install /roles:m /IAcceptExchangeServerLicenseTerms /InstallWindowsComponents
Once the installation is complete, you can launch the EMS using the “LaunchEMS” command in the command prompt. Of course, you can also manage Exchange using a management console too.
Now you’ve got a shiny new Exchange Server with no GUI. This is an option that should have been available for Exchange a long time ago. This is more secure and allows more of your hardware resources to go where you need them, end-user experience. Practice a couple of times in a lab, then never install another Exchange server with a GUI again.
Monitor Exchange with ENow
Watch all aspects of your Exchange environment from a single pane of glass: client access, mailbox, and Edge servers; DAGs and databases; network, DNS, and Active Directory connectivity; Outlook, ActiveSync, and EWS client access.