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.
|WMI Class||MOF File|
Running the following PowerShell on the affected host fetches zero objects.
Get-CimClass -Namespace root/virtualization/v2 -classname *vmm*
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
- 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.