When Windows update ‘KB4467684‘, ‘KB4478877‘, ‘KB4471321‘ or ‘KB4483229’ is installed on a VMM managed Windows Server 2016 host, VMM is not able to enumerate or manage the Logical Switch deployed on the host. Customers will notice the following symptoms when they open the ‘Virtual Switches’ property of the Host.
VMM throws the error ‘An uplink port profile set was not specified on the host network adapter <NetworkAdapterName> and was not supplied with Logical switch <LogicalSwitchName>’
The Uplink Port Profile drop down menu will appear empty on the Host Virtual Switch – Logical Switch configuration page.
The above-mentioned updates are unregistering the following WMI classes used by VMMAgent to enumerate and manage Logical Switch deployed to the Host.
Note: Running the same PowerShell on a host which does not have these updates installed, fetches VMM related classes.
Use mofcomp to add the VMM related classes and class instances to the WMI repository. On the affected host, run the following commands
Mofcomp “%systemdrive%\Program Files\Microsoft System Center 2016\Virtual Machine Manager\setup\scvmmswitchportsettings.mof”
Mofcomp “%systemdrive%\Program Files\Microsoft System Center 2016\Virtual Machine Manager\DHCPServerExtension\VMMDHCPSvr.mof”
After you add the classes to WMI repository, you should refresh the host on VMM. Make sure ‘System Center 2016 Update Rollup 6’ is installed on the VMM server as this update brings in improvements to VMM Host refresh time.
If you are running System Center Virtual Machine Manager Semi-Annual Channel release (SAC), then the path for mof files would be
%systemdrive%\Program Files\Microsoft System Center\Virtual Machine Manager\setup\scvmmswitchportsettings.mof
%systemdrive%\Program Files\Microsoft System Center\Virtual Machine Manager\DHCPServerExtension\VMMDHCPSvr.mof
We have heard reports that ‘Microsoft VMM DHCPv4 Server Switch Extension’ is being enabled on a Host managed by Microsoft Network Controller (NC) after running mofcomp. This is causing BSOD on the NC managed Host. Make sure that only ‘Microsoft Azure VFP Switch Extension’ is enabled and all other Hyper-V Switch extensions are disabled once you run mofcomp.
Get-VMSwitchExtension -VMSwitch $VMSwitch | Format-Table Name, Enabled
Microsoft Windows Filtering Platform False
Microsoft VMM DHCPv4 Server Switch Extension False
Microsoft Azure VFP Switch Extension True
Microsoft NDIS Capture False
As a best practice, follow this process to patch a host managed by VMM.
Bring the Host to be updated in Maintenance mode from VMM
Patch the host
Use mofcomp to add the VMM related classes and class instances to the WMI repository
If the host is managed by NC, make sure that ‘Microsoft VMM DHCPv4 server Switch Extension’ is disabled.
Restart the host
Refresh the host from VMM
Bring host out of maintenance mode.
If your environment has many hosts, you can script the process to enumerate the hosts from VMM using ‘Get-SCVMHost’ PowerShell Commandlet and use remote PowerShell to register VMM WMI classes as suggested above.