Correct - if you place a Host in SCOM Maintenance Mode, then any VMs on that host will also go into Maintenance Mode. This is by design & how the SCOM feature works - because the VMs are contained within the Host. All contained objects go into Maintenance Mode when you put the root object into Maintenance Mode (so for example if you put a SQL Server in M-Mode, then all the Databases also go into M-Mode. Same with Host and VMs.)
I'd say if you were doing maintenance operations on a Host, wouldn't you want to vMotion the VMs to another host anyway? Or, at least power them off - so they would not be generating monitoring data in any case.
But if you do want to put just a host into Maintenance Mode, then do the following - it just takes a few extra clicks -
* right-click the host to start M-Mode
* choose the option 'selected objects only'. Now the host itself is in M-Mode.
* then go to each host container such as CPU, NETWORK, SENSORS etc and set M-Mode there. For the containers, use 'all contained objects' option. Now all host components are in M-Mode.
* do NOT set M-Mode on the 'VM' Container - that's where all the virtual machines live.
If you complete the above, you have a host and all components in M-Mode, but the VMs are not.
Hope that helps!
Vice President, Product Management