Tag Archives: Server Core

Check Server Core for Exchange 2019 Security Updates

When you want to check which updates are installed on an Exchange server you can navigate to Control Panel | Programs | View Installed Updates and you will see a list of installed updates, including the Exchange Security Updates.

When running Exchange 2019 on Windows 2019 Server Core there is no Control Panel and you can view the registry to check which updates are installed. Use the following command to view all installed Updates:

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*| select-object displayname

Or more specifically for Exchange Server:

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*| ?{$_.DisplayName -like "*Exchange Server*"} | Select DisplayName

This will show all software and updates for Exchange as shown in the following screenshot:

Get-DatabaseAvailabilityGroupNetwork Misconfigured

When installing a Database Availability Group in Exchange 2019 running on Windows 2019 Server Core, I got IP address configuration errors when creating the DAG. It did succeed, but when running the Get-DatabaseAvailabilityGroupNetwork command in EMS is get a ‘Misconfigured’ warning:

Or in plain text:

Identity ReplicationEnabled Subnets
-------- ------------------ -------
DAG01\MapiDagNetwork True {{,Misconfigured}, {,Misconfigured}}

This will be a DAG with two networks. One Mapi network ( for clients, and one replication network (

The requirements for an additional replication network in a DAG are:

  • No default gateway configured
  • No DNS servers configured
  • IP address must not be registered in DNS

When using Windows 2019 Server Core, the first two can be configured using the SCONFIG utility, but the last one is not that simple (but in Windows 2019 Desktop Experience it is just a matter of deselection the “Register this connection’s address in DNS” option when configuring the network interface).

When using Windows Server Core, you can use the Set-DnsClient command to configure this setting, combined with the Get-NetAdapter command.

Execute the Get-NetAdapter command to retrieve the network interfaces. In the following screenshot “Ethernet” is the regular Mapi network interface, “Ethernet 2” is the replication network interface.

To configure the DNS registration option, execute the following command:

Get-NetAdapter -Name "Ethernet 2" | Set-DnsClient -RegisterThisConnectionsAddress $False

When you run the Get-DatabaseAvailabilityGroupNetwork command again, both DAG networks will show up correctly.

Exchange 2019 on Windows Server Core disk management

When installing an Exchange 2019 Edge Transport server on Windows 2019 Server core I realized there’s no disk management MMC snap-in, so all disk configuration needs to be done using PowerShell.

For this blogpost I added a 20GB disk to my Windows 2019 Server Core server which I want to use as a D:\ drive for my SMTP queue.

You can use the Get-Disk command to retrieve the server’s disk configuration, and you can pipe this disk object into the Initialize-Disk command to bring it online and assign a new partition:

Get-Disk –Number 1 | Initialize-Disk –PartitionStyle GPT New-Partition –DiskNumber 1 –UseMaximumSize


By default, Windows installs on drive C:\ and the DVD is mounted as drive D:\. You can use the Get-WmiObject and the Set-WmiInstance commands to assign it a different drive letter, for example drive Z:\

Get-WmiObject -Class Win32_volume -Filter ‘DriveType=5′ | Select -First 1 | Set-WmiInstance -Arguments @{DriveLetter=’Z:’}

The next step is to assign drive letter D:\ to the newly added disk:

Add-PartitionAccessPath -DiskNumber 1 -PartitionNumber 2 –AccessPath “D:\”

And finally format it using NTFS file system and a block size of 64KB:

Get-Partition –Disknumber 1 –PartitionNumber 2 | Format-Volume –FileSystem NTFS –NewFileSystemLabel “Queue” -AllocationUnitSize 65536 –Confirm:$false


Now you can continue with the standard installation procedure for an Exchange 2019 Edge Transport server (which does not differ from an Exchange 2013 or Exchange 2016 Edge Transport server)

DNS Suffix Windows 2019 Server Core

While preparing a Windows 2019 Core server for an Exchange 2019 Edge Transport server I had to set the FQDN of the server. The server name itself is not difficult, you can change this using the SCONFIG tool, but you cannot change the DNS suffix using SCONFIG.

For changing the DNS suffix on a Windows 2019 Core you can use the NETDOM, the REG.EXE or PowerShell:

netdom computername %computername% /makeprimary:%computername%.exchangelabs.nl

or when using the computer name itself:

netdomain computername AMS-EDGE01 /makeprimary:AMS-EDGE01.exchangelabs.nl

To add the registry key needed for the DNS suffix (HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain\NV Domain) you can also use the REG.EXE tool:
reg.exe add HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v “NV Domain” /t REG_SZ /d “exchangelabs.nl” /f

Or you can use PowerShell:

New-ItemProperty -Path “HKLM:\ SYSTEM\CurrentControlSet\services\Tcpip\Parameters\” -Name “NV Domain” -PropertyType REG_SZ -Value “exchangelabs.nl”

New-ItemProperty DNS Suffix

Reboot the server, run IPCONFIG /ALL and you’ll see the DNS suffix. The server can now be used for installing Exchange 2019 Edge Transport server.
ipconfig all


Exchange 2019 Preview Introduction

Why does the fun part always happen when you are on vacation? I’m glad I brought my laptop to Spain…. You might have seen by now that Microsoft released a preview version of Exchange 2019. Some people expected that Microsoft was not releasing any new server software anymore, but the opposite is true. If there’s sufficient demand Microsoft will release software.

From a version perspective, Exchange 2019 is a major upgrade, but from a technical perspective Exchange 2019 is more a minor upgrade. You can see this under the hood, Exchange 2019 is referenced as “version 15.2”, whereas version 15.1 is Exchange 2016 and version 15.0 is Exchange 2013.

So, what’s new in Exchange 2019? New features for Exchange 2019 can be seen in four different areas:

  • Security
  • Performance and Manageability
  • User Experience

I will briefly go through these topics in the next sections.


One major improvement is the support for Windows Server Core. Yes, finally… Exchange 2019 runs on Server Core. And I must admit, it runs fine. You have to get used to the fact there’s no GUI, and you have to start EMS using the ‘LaunchEMS’ command, but it runs great. Be careful though, it’s a new development and it runs on Windows 2019 Server Core, not a word yet about supportability on older versions of Windows Server Core….

So, when you want to look at Server Core, it’s time to dust off your knowledge about SCONFIG


What else can you show about Server Core?


Oh, and now we’re talking about supportability, when it comes to coexistence, my guess is (and this has always been the case in the past) that only Exchange 2013 and Exchange 2016 are supported in a coexistence scenario. Exchange 2010 is most likely not supported (N-2 support) so when you are still running Exchange 2010 it’s time to think about a migration strategy (did I already mention Exchange 2010 support will end in April 2020?).

If you want to test with Windows 2019 you can grab one from the Windows Insider Preview: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewserver

Performance and Manageability

If you are running Exchange 2013 or Exchange 2016 you must have experienced issues with indexing and health status of Database copies being ‘unhealthy’. This can become an issue when you want to failover to another Exchange server.

In Exchange 2019 this will improve with the introduction of a new search engine called ‘Big Funnel’. Indexing will no longer be in separate files, but it will be included in the Mailbox database. And since Mailbox database copies are always in sync (or at least they should be) this should result is faster failover times, less complexity and less issues.

When looking at the database directory structure it is obvious that the index files are missing. You can use the Get-MailboxStatistics cmdlet to retrieve information regarding the new search engine:


Microsoft does have experience with Big Funnel, it is already running in Exchange Online and in Outlook.com, so it’s not an entire new technology.

New developments in performance as well, since Microsoft is supporting SSD disks for Mailbox databases. But it’s a bit more granular than this. Only parts of the Mailbox database need to be stored on the SSD disks. For regular Mailbox items it doesn’t make sense to store them on SSD, and regular JBOD storage will do, but the ‘metache’ information, stuff that gets accessed frequently and randomly can be stored on SSD disks. Unfortunately, the Exchange 2019 build that I have used so far doesn’t have the PowerShell cmdlets to manage this, so I haven’t been able to test this. I do hope the Preview has these available, so I can start testing this after my vacation in a couple of weeks

According to Microsoft Exchange 2019 should support up to 48 processor cores and up to 256 GB. Nice to know, maybe if you’re running datacenters like Office 365, but I don’t have the hardware to validate this I’m afraid. But it’s good Microsoft is also expanding in this area.

User Experience

Some improvements in the User Experience area. Calendaring has always been an issue, and in Exchange 2019 we will see improvements like ‘do not forward’, simplified sharing and better OOF (Out-of-Office) handling. And there will be a Remove-CalendarEvent cmdlet in PowerShell, which allows administrator to remove (orphaned) calendar events, very useful! And more PowerShell improvements, it will be possible to assign delegate permissions using PowerShell!

So, how does Exchange 2019 look like from a user perspective. Since it is very similar to Exchange 2013 and Exchange 2016, the logon screen looks like this:


And after logging on:


And it even works with Office Online Server (I used the 2016 version of OOS here):


The User Interface is not very exciting compared to Exchange 2013 or Exchange 2016, the good thing here is that you don’t have to educated your end users when moving to Exchange 2019 so that’s a win as well.

Message Hygiene

I have been playing with Exchange 2019 for some time now. When working on-premises it’s best to use Exchange Online Protection (EOP) for message hygiene purposes. The Edge Transport server is still around in Exchange 2019, but nothing special here. For DKIM and DMARC you still need to use EOP, and using Azure AD Connect is works great. Of course, you can use any message hygiene solution you want, there’s no mandatory requirement to use Office 365 or EOP at all. I have heard rumours in the past, that you need to have a tenant in Office 365, but that’s not true.

Of course other message hygiene solutions can be used as well, both on-premises as online, but I happened to test with EOP for Exchange 2019.

What will be removed?

With every new version features are introduced, and other features are deprecated or even removed.

The Unified Messaging server role is removed from Exchange 2019, so if you are using UM you should stick on Exchange 2016 for some time to see how this will develop with cloud alternatives. Or move to Exchange 2019 and also move to Skype for Business 2019 and move to Cloud VoiceMail, but at this moment that’s a bit outside my comfort zone yet.


Exchange 2019 Preview is a first look at the new upcoming Exchange 2019, which should be released later this year. I don’t have any insight in a release date, but according to Microsoft a lot more information will be released at Ignite this September (I am going to Ignite, are you? And I’m looking forward to hearing more information).

There are some interesting new features, where large organizations will benefit from like the new search engine and the database metcache on SSD improvements. For sure there must be more, but the upcoming months will tell.