Category: Windows Server 2012 R2

Cluster Functional Level and Cluster Upgrade Version

Learn about Windows Server Cluster Functional Levels

A couple of weeks ago, I released a blog post about Hyper-V VM Configuration versions to give an overview about the version history of Hyper-V virtual machines. After that I had the chance to work with John Marlin (Microsoft Senior Program Manager High Availability and Storage) on a similar list of Windows Server Cluster Functional Levels.

Why Cluster Functional Levels are important

With Windows Server 2016, Microsoft introduced a new feature called Cluster OS Rolling Upgrade or Cluster Rolling Upgrade. This feature allows you to upgrade the operating system of the cluster nodes to a new version, without stopping the cluster. With mixed-OS mode, you can have for example 2012 R2 and 2016 nodes in the same cluster. Keep in mind that this should only be temporary, while you are upgrading the cluster. You can basically upgrade node by node, and after all nodes are upgraded, you then upgrade the Cluster functional Level to the latest version.

List of Windows Server Cluster Functional Levels

Since the feature Cluster OS Rolling Upgrade was first introduced with Windows Server 2016, you never really knew about Cluster Functional Levels before. However, it already existed since Windows Server NT4.

Windows Server VersionCluster Functional Level
Windows Server 201911
Windows Server RS410.3
Windows Server RS310.2
Windows Server 20169
Windows Server 2012 R28
Windows Server 20127
Windows Server 2008 R26
Windows Server 20085
Windows Server 2003 R24
Windows Server 20033
Windows Server 20002
Windows Server NT41

Tips and PowerShell

If you want to know more about Cluster OS Rolling Upgrade, you can check out the Microsoft Docs. Together with John, I created a quick list of some tips for you, and some of the important PowerShell cmdlets.

To check which Cluster Functional Levels your cluster is running on, you can use the following PowerShell cmdlet:

If you have upgraded all nodes in the cluster, you can use the Update-ClusterFunctionalLevel to update the Cluster Functional Level. Also make sure that you upgrade the workloads running in that cluster, for example upgrade the Hyper-V Configuration Version or in a Storage Spaces Direct Cluster, the Storage Pool version (Update-StoragePool).

In Windows Server 2019 the Clustering team introduced a new PowerShell cmdlet to check how many nodes of the cluster are running on which level. Get-ClusterNodeSupportedVersion helps you to identify the Cluster Functional Level and the Cluster Upgrade Version.

Cluster Functional Level Get-ClusterNodeSupportedVersion

This means that the functional level is 11 (Windows 2019).  The Upgrade version column is what you can upgrade to/with, meaning 11.1 or Windows 2019 only.

Cluster Functional Level and Cluster Upgrade Version

This means your Cluster Functional Level is 10.  Meaning you can add basically anything 10.x (2016, RS3, RS4) and 11 (2019) to it.

If you are running System Center Virtual Machine Manager, the Cluster OS rolling upgrade, can be fully automated as well. Check out the Microsoft Docs for Perform a rolling upgrade of a Hyper-V host cluster to Windows Server 2016 in VMM.

To find out more about information Cluster operating system rolling upgrade, like how-to, requirements and limitations, check out the Microsoft Windows Server Docs page.

Hyper-V VM Configuration Version

Hyper-V VM configuration version supported features

A couple of months ago, I wrote an article about the new Microsoft Hyper-V UEFI in Windows Server 2019 and Windows 10 virtual machines. With that version Microsoft also released a new Hyper-V VM configuration version 9.0. This is not unusual, the Hyper-V teams usually bumps up the version number from release to release, since new Hyper-V features are introduced. In the comments, the question came up, what is new in this version of the Hyper-V VM configuration, Since the version was still a preview release of Windows Server and Windows 10, Microsoft didn’t share the full list of features per configuration version. However, now the documentation is ready and you can find the documentation here.

Supported features

The following table shows the minimum virtual machine configuration version required to use some Hyper-V features.

Windows ServerWindows 10VersionFeature
Windows Server 2016 Technical Preview 3Windows 10 15076.2Hot Add/Remove Memory
Windows Server 2016 Technical Preview 3Windows 10 15076.2Secure Boot for Linux VMs
Windows Server 2016 Technical Preview 3Windows 10 15076.2Production Checkpoints
Windows Server 2016 Technical Preview 3Windows 10 15076.2PowerShell Direct
Windows Server 2016 Technical Preview 3Windows 10 15076.2Virtual Machine Grouping
Windows Server 2016 Technical Preview 4 Windows 10 15117.0Virtual Trusted Platform Module (vTPM)
Windows Server 2016 Technical Preview 57.1Virtual machine multi queues (VMMQ)
Windows Server 2016Windows 10 Anniversary Update8.0XSAVE support
Windows Server 2016Windows 10 Anniversary Update8.0Key storage drive
Windows Server 2016Windows 10 Anniversary Update8.0Guest virtualization-based security support (VBS)
Windows Server 2016Windows 10 Anniversary Update8.0Nested virtualization
Windows Server 2016Windows 10 Anniversary Update8.0Virtual processor count
Windows Server 2016Windows 10 Anniversary Update8.0Large memory VMs
Windows Server 1803Windows 10 April 2018 Update8.3Increase the default maximum number for virtual devices to 64 per device (e.g. networking and assigned devices)
Windows Server 2019/1809Windows 10 October 2018 Update9.0Allow additional processor features for Perfmon
Windows Server 2019/1809Windows 10 October 2018 Update9.0Automatically expose simultaneous multithreading configuration for VMs running on hosts using the Core Scheduler
Windows Server 2019/1809Windows 10 October 2018 Update9.0Hibernation support

Source: Microsoft Docs (Thanks to Rene Moergeli for the link)

How to list the supported VM configuration versions

You can list all supported VM configuration versions on your Hyper-V host using the Get-VMHostSupportedVersion cmdlet.

Get-VM Hyper-V VM Configuration Version

If you want to see the version of a Hyper-V virtual machine, you can use Hyper-V Manager or the following PowerShell command:

Full list of Hyper-V VM versions

Here you have a full list of VM configuration versions of Hyper-V VMs together with the operating system.

Windows ClientWindows ServerVersion
Windows Server 20081.0
Windows Server 2008 SP12.0
Windows Server 2008 R23.0
Windows 8Windows Server 20124.0
Windows 8.1Windows Server 2012 R25.0
Windows 10 1507Windows Server 2016 Technical Preview 36.2
Windows 10 1511Windows Server 2016 Technical Preview 47.0
Windows Server 2016 Technical Preview 57.1
Windows 10 Anniversary UpdateWindows Server 20168.0
Windows 10 Creators Update8.1
Windows 10 Fall Creators UpdateWindows Server 17098.2
Windows 10 April 2018 UpdateWindows Server 18038.3
Windows 10 October 2018 UpdateWindows Server 2019 / 18099.0
Windows 10 April 2019 UpdateWindows Server 19039.1

How to upgrade Hyper-V VM configuration version

Hyper-V vNext Update VM Configuration Version

Upgrading the Hyper-V VM version is pretty straight forward. If the VM is running on a host supporting a newer version of Hyper-V VMs, you can right click the virtual machine in the Hyper-V Manager and click on upgrade or you can run the Update-VMVersion PowerShell cmdlet.

I hope this blog was help full for understanding Hyper-V VM versions, let me know if you have any questions in the comments!

Azure Stack VM Update Management

Using Azure Update Management on Azure Stack

At Microsoft Ignite 2018, Microsoft announced the integration of Azure Update and Configuration Management on Azure Stack. This is a perfect example how Azure services from the public cloud can be extended into your datacenter using Azure Stack. Azure Update and Configuration Management brings Azure Update Management, Change Tracking and Inventory to your Azure Stack VMs. In the case of Azure Stack, the backend services and orchestrator like Azure Automation and Log Analytics, will remain to run in Azure, but it lets you connect your VMs running on Azure Stack.

Azure Update and Configuration Managemen Schemat

Today, the Azure Update and Configuration Management extension, gives you the following features:

  • Update Management – With the Update Management solution, you can quickly assess the status of available updates on all agent computers and manage the process of installing required updates for these Windows VMs.
  • Change Tracking – Changes to installed software, Windows services, Windows registry, and files on the monitored servers are sent to the Log Analytics service in the cloud for processing. Logic is applied to the received data and the cloud service records the data. By using the information on the Change Tracking dashboard, you can easily see the changes that were made in your server infrastructure.
  • Inventory – The Inventory tracking for an Azure Stack Windows virtual machine provides a browser-based user interface for setting up and configuring inventory collection.

If you want to use Azure Update Management and more on VMs on-premise (without Azure Stack) or running at another Cloud Provider, you can do this as well. Have a look at Windows Admin Center, which allows you to directly integrate with Azure Update Management. However, there will be a difference in pricing.

Azure Update Management Resource Group

Azure Update Management using Windows Admin Center

I already posted a couple of blogs about the Windows Admin Center. For example how you can use and configure Azure Backup or how you can configure the Azure Network Adapter directly from Windows Admin Center. Windows Admin Center does also allow you to manage Windows Updates on your Windows Server. However, if you want to have some more control over your updates and have a centralized orchestration for updates, Azure Update Management can help you. You can use the Update Management solution in Azure Automation to manage operating system updates for your Windows and Linux computers that are deployed in Azure, in on-premises environments, or in other cloud providers. With Windows Admin Center you will get a direct integration with Azure Update Management.

Setup Azure Update Management in Windows Admin Center

Windows Admin Center Windows Update Management

Setting up Azure Update management in Windows Admin Center is very simple. First you will need to register your WAC installation with Azure, if you haven’t done this already. After that you go to the Update extension and you will find a button to Set up now.

Windows Admin Center Setup Azure Update Management

Now you can configure Azure Update Management from Windows Admin Center. You can select your Azure Subscription where you want to deploy the solution. You can select an existing Resource Group and Log Analytics Workspace, or you can create a complete new setup.

Windows Admin Center Configured Azure Update Management

This will install the Microsoft Monitoring Agent on your Windows Server, which is used for the Azure Update Management.

Azure Update Management Resource Group

If you create a new setup, this will also create all the resources in Azure, like the Resource Group, Log Analytics Workspace, Azure Automation Account and adding the Update Solution.

Azure Update Management

Now you can start managing the Windows Updates centralized from Azure Update Management.

Azure Update Management supports not only Windows Server 2019 and Windows Server 2016, it supports Windows Server 2008 R2 SP1 and later.

This again shows Microsoft efforts to build Hybrid Cloud functionality directly into Windows Server and Windows Admin Center. This should help especially administrators, which are mostly managing on-premises environments, to extend and benefit from Microsoft Azure.

Install SNMP Feature on Windows Server Core

Install SNMP on Windows Server Core

If you run Windows Server as Core Installation, like Windows Server 2016 Core or any Microsoft Hyper-V Server edition and you want to use SNMP (Simple Network Management Protocol) on that system, you first have to install the SNMP feature on that Core Server. After that you can use the MMC to remotely connect to the services list on the Core Server.

Install SNMP on Windows Server Core

First lets see if the SNMP feature is installed, using PowerShell:

By default the SNMP feature is not installed. To install the SNMP feature on Windows Server Core, you can run the following command:

Windows Server FTP

Install FTP Server on Windows Server

Windows Server has IIS build in, which also offers a FTP server option. The File Transfer Protocol (FTP) is still a very popular protocol that allows users to simply upload and download files. Of course today you have more modern options, however it is still very often used and a lot of legacy applications still support it.

In this blog post I wanna quickly go rough how you can install the FTP Server on Windows Server. I do this on a brand new Windows Server 2019 operating system, however it didn’t really change since early Windows Server versions.

Install FTP Server Feature on Windows Server

Install FTP on Windows Server using PowerShell

First you will need to install the FTP feature. I usually simply do that using PowerShell to install the FTP Server feature in Windows Server. You can also do that using the Server Manager. However, if you want to use PowerShell, you can use the following command:

Windows Server 2019 Upgrade

Windows Server 2019 In-place Upgrade

As another part of my series for Windows Server 2019, this blog post covers the in-place upgrade feature. In-place upgrade allows you to upgrade your existing LTSC versions of Windows Server 2012 R2 or Windows Server 2016 servers to Windows Server 2019. Windows Server 2019 In-place Upgrade allows businesses to quicker update to the latest version. Especially, if you have servers which you might needed to install some dependencies for the applications. I saw a lot of customers which not have documented their server installations and neither used infrastructure as code to deploy them. For these customers it can be hard to upgrade to newer versions of Windows Server. With the Windows Server 2019 In-Place Upgrade feature, this should get a lot easier. Especially since Windows Server 2019 bring a lot of improvements.

You can in place upgrade to Windows Server 2019 from

How to in place upgrade to Windows Server 2019

Windows Server 2016 upgrade to Windows Server 2019

To in place upgrade to Windows Server 2019, just insert the Windows Server 2019 media into the existing server, by attaching an ISO file, copying the sources, inserting a USB drive or even a DVD drive and start the setup.exe.

Installing Windows Server 2019

The setup will discover the existing installation and will let you perform an in place upgrade. The installation will run for a couple of minutes, it will take quiet some time depending of the speed of your server hardware and of the installed roles and features. Microsoft MVP Didier Van Hoye, did write a great blog post about Windows Server 2019 In-Place Upgrade testing. In that blog post he has a quick look on upgrading to Windows Server 2019.

You can also find a overview about what is coming new in Windows Server 2019, in my blog: Windows Server 2019 – What’s coming next.