Hyper-V Management Pack administration guide
This guide explains how Hyper-V Private Cloud Monitoring is installed, tuned, validated, upgraded, and removed. Version 1.3.8.0 ("Private Cloud Powered by Hyper-V: A 360° View") is permanently sealed with public key token 54d0fb1159995c86 and published as repository-hosted Management Packs, public overrides, manifests, checksums, and profile bundles.
Download version 1.3.8.0 now. Once imported, the operations guide covers day-two use: console layout, tuning, tasks. Import exactly one deployment profile's reviewed Discovery and Monitoring override pair. The former Hyper-V 0.1.0 lab preview is superseded and is not compatible with this signing identity.
What the download contains
| Deliverable | Purpose |
|---|---|
| Sealed product MPs | 13 total: four always-required MPs and nine separately installable capability adapters |
| Management Pack guide | Prerequisites, import, verification, tuning, upgrade, rollback, removal, and troubleshooting |
| Monitoring catalog | Workflow IDs, targets, defaults, overrideable parameters, knowledge, and evidence |
| Override starter files | Generator and separate customer-owned Discovery and Monitoring output for Lab, Standard, and Strict |
| Release record | Version matrix, dependencies, checksums, changes, known issues, and profile changes |
The sealed MPs are product-owned. Every active override is stored in customer-owned, unsealed XML.
Dependency profile
The four required core MPs have no optional Cluster, CSV, S2D, SAN, Pure, SDN, or VMM dependency. Each supported capability is a separate sealed adapter. Publisher-owned prerequisite MPs are not redistributed in the HCS download and must be installed before the corresponding adapter.
“Four core MPs” is a dependency classification, not an instruction to reduce an existing installation to four files. The 1.3.8.0 deployment ZIP contains all 12 non-PureStorage solution MPs so one import upgrades Library, Discovery, Monitoring, Presentation, Cluster, Storage, S2D, File Services, Network ATC, Physical Network, SDN, and VMM together. Pure Storage is separate.
PowerShell 7 execution prerequisite
Every first-party script runs in an explicit PowerShell 7 process. Install a supported machine-wide PowerShell 7 MSI on every Hyper-V agent and on any management server that executes a server-side capability workflow. The first release requires the normal MSI path: %ProgramFiles%\PowerShell\7\pwsh.exe.
Use Microsoft's current MSI deployment guidance. For an interactive Windows Server installation where winget is available:
winget install --id Microsoft.PowerShell --source winget --installer-type wixFor controlled server deployment, download the signed x64 MSI from the official PowerShell release and deploy it machine-wide without changing the installation directory. Store/MSIX, ZIP, user-scoped, and relocated installations do not satisfy this release contract. Keep PowerShell 7 serviced according to Microsoft's support lifecycle.
After importing the core MPs, run Collect Hyper-V diagnostic and PowerShell runtime summary against a discovered host. Do not approve the installation unless the result shows:
PSEdition : Core;PowerShellProcessPath : C:\Program Files\PowerShell\7\pwsh.exe;- a supported
PowerShellVersion; and AutomationAssemblyLocationbeneath the same PowerShell 7 installation.
The MP does not fall back to Windows PowerShell. A missing or relocated executable produces a workflow failure that must be corrected before monitoring can be considered healthy. See the security and operability architecture for the execution and security contract and Microsoft's PowerShell installation guidance.
Each optional capability's PowerShell modules must also load successfully in PowerShell 7. The capability prerequisites below are additive to this common prerequisite.
The authored Capability.Cluster adapter requires these prerequisites before import:
| Prerequisite | Minimum | Purpose |
|---|---|---|
| Microsoft Windows Server Cluster 2016 and above MPs | 10.1.0.0 | Authoritative cluster, node, role/group, network, and leaf health |
| Microsoft Windows Server OS/CSV MPs | 10.1.2.2 | Authoritative Cluster Shared Volume objects, health, and performance |
| Library and Presentation | Matching product version | DA relationships, rollup targets, and common console folders |
| Failover Clustering management tools | Matching Windows Server | Local, read-only topology queries used by the HCS relationship adapter |
Install the Hyper-V and Failover Clustering roles with their management tools on participating Windows Server hosts:
Install-WindowsFeature Hyper-V -IncludeManagementTools
Install-WindowsFeature Failover-Clustering -IncludeManagementToolsIf the clustering role is already present without its PowerShell module, install the missing feature explicitly:
Install-WindowsFeature RSAT-Clustering-PowerShellThe HCS adapter does not replace or duplicate Microsoft cluster monitoring. It submits key-based relationships to Microsoft objects, rolls their health into the private-cloud DA, and adds an HCS integration-pipeline monitor. Microsoft remains the leaf-alert authority.
The authored Capability.Storage adapter has these host prerequisites:
| Prerequisite | When required | Purpose |
|---|---|---|
| Windows Storage PowerShell module | Always | Disk, partition, volume, and VHDX-to-LUN correlation |
| Multipath-IO plus an approved DSM | Multipathed SAN | Path inventory and redundancy health |
| Windows iSCSI PowerShell module | iSCSI SAN | Session and connection discovery and health |
HBA driver exposing MSFC_FibrePortHBAAttributes | Fibre Channel SAN | FC port identity and operational state |
Install Multipath-IO where the approved storage design requires it:
Install-WindowsFeature Multipath-IO -IncludeManagementToolsThe Management Pack never enables automatic claiming or changes MPIO policy. Configure MSDSM or the vendor DSM according to the array vendor's supported host-integration guide. A missing optional transport is Not Applicable when no disk uses it; a visible iSCSI/FC disk without the required query or MPIO capability is reported as a configuration or redundancy problem.
The authored Capability.S2D adapter requires Microsoft's Storage Spaces Direct Management Pack package 1.0.47.4 and its bundled Microsoft.Storage.Library. Import and validate the complete Microsoft bundle before the HCS adapter; the adapter will not rediscover or replace Microsoft storage objects. The S2D package's Cluster and Windows Server prerequisites must also be present, and the Microsoft pack must already discover its subsystem, nodes, disks, pools, virtual disks, volumes, and file shares.
The current HCS product release is 1.3.8.0. Independently, its S2D adapter references the lowest compatible Microsoft.Storage.Library identity while requiring Microsoft's inspected 1.0.47.4 S2D package as the supported minimum. These Microsoft dependency versions are not the HCS product version. The adapter contributes DA membership, health rollup, query-pipeline coverage, and views only. Microsoft S2D faults, ongoing jobs, leaf monitors, alerts, and performance rules remain authoritative.
The authored Capability.PureStorage adapter has these prerequisites and support boundaries:
| Prerequisite | Minimum | Purpose |
|---|---|---|
| Pure Storage FlashArray MP | 2.0.120.0 | Authoritative array, controller, host, port, volume, pod, health, alert, and performance objects |
| SCOM | 2016, 2019, or 2022 | Vendor-documented support lane for the inspected Pure MP release |
| Library, Presentation, and Storage | Matching product version | Private-cloud relationships, common folders, and Windows SAN identities |
| Pure host IQN/WWN and volume serial inventory | Exact values | Deterministic correlation to Windows iSCSI/FC initiators and HCS logical units |
Import and configure the vendor MP first, then verify that it discovers the FlashArray. The HCS adapter uses already-discovered SCOM objects through the Operations Manager SDK. It does not use the Pure Run As account, call the FlashArray REST API, modify the array, or duplicate vendor leaf alerts. A Pure array with no exact HCS host or volume identity match is Not Applicable. An ambiguous identity is deliberately left uncorrelated.
Pure has not published support evidence for SCOM 2025 for this vendor MP release. Consequently, the Pure adapter is not supported on SCOM 2025 unless a later Pure package is separately inspected, tested, and added to the release support matrix.
The authored Capability.FileServices adapter requires Microsoft's Windows Server File & iSCSI Services package 10.1.0.4. Import the complete Microsoft bundle and confirm that its File Server and SMB service objects are healthy before importing the HCS adapter. Hyper-V compute hosts require the Hyper-V and SmbShare PowerShell modules. Clustered SOFS deployments also require the Microsoft Cluster/CSV packages and the optional HCS Cluster capability; nonclustered SMB deployments do not.
The adapter creates stable projections only for SMB shares that actually back an attached VM disk, their selected Multichannel/RDMA paths, and share-to-VHDX/VM mappings. It requires an active SMB connection and continuous availability. RDMA enforcement defaults off because not every supported SMB design requires SMB Direct; set RequireRdma only for a validated RDMA/DCB design. Microsoft remains authoritative for File Server, SMB service, witness, resume-key, firewall, and clustered continuous-availability alerts.
The authored Capability.PhysicalNetwork adapter requires SCOM network monitoring to have already discovered the switches that carry Hyper-V traffic. Use the built-in network libraries shipped with the installed SCOM release; the HCS MP references only public types present since SCOM 2016. SCOM's network discovery account and SNMP credentials remain owned by SCOM and are never copied into an HCS Run As profile.
On each host, the adapter relates external Hyper-V virtual switches to the existing Microsoft.Windows.ComputerNetworkAdapter objects by the exact Get-NetAdapter DeviceID and MAC address representation used by Microsoft's Windows Server discovery. The built-in SCOM network merge then owns connection and peer topology to discovered switch ports. After import, open the SCOM network diagram and verify every participating host adapter reaches the expected switch and port. Missing or ambiguous paths must be fixed in SCOM network discovery; HCS does not guess a switch from an IP address, interface name, or partial MAC address.
The authored Capability.NetworkATC adapter is initially supported for Windows Server 2025 Hyper-V failover clusters that meet Microsoft's Network ATC requirements. It is a local Windows feature integration and has no external Microsoft Management Pack dependency. Import the matching Library and Presentation MPs first.
| Prerequisite | Requirement | Purpose |
|---|---|---|
| Windows Server | 2025 on every participating cluster node | Supported Hyper-V Network ATC baseline |
| Physical adapters | Symmetric make, model, speed, configuration, names, and Up state across nodes | Stable cluster-wide intent application |
NetworkATC | Installed with management tools | Get-NetIntent and Get-NetIntentStatus discovery and health |
Hyper-V and Failover-Clustering | Installed with management tools | Supported virtualization and cluster topology |
Data-Center-Bridging and FS-SMBBW | Installed where required by the Network ATC design | QoS, RDMA, and SMB Direct support |
Install the supported feature set on each participating node:
Install-WindowsFeature NetworkATC, Hyper-V, Failover-Clustering, Data-Center-Bridging, FS-SMBBW -IncludeManagementToolsThe adapter discovers the expected intent request separately from each node's actual status. It requires ConfigurationStatus = Success, ProvisioningStatus = Completed, and no error for Healthy state. Active convergence is Warning for up to 30 minutes by default; failed or prolonged convergence is Critical. Missing/down adapters are Critical, and storage intents require RDMA by default. Override RequireRdmaForStorage only for a documented nested or non-RDMA test design.
RequireNetworkATC defaults to false. A host with no Network ATC feature or intent is therefore Not Applicable and treated as ManualOrExternal. Set it to true only on groups where Network ATC is the declared host-network authority; missing capability or intent then becomes Critical. The Management Pack is read-only and never adds, sets, removes, updates, retries, or remediates an intent or restarts a service.
Network ATC may coexist with Windows Server SDN: ATC can own host adapters, SET switches, and intent while Network Controller owns overlay policy and SDN resources. VMM may orchestrate either layer. Do not disable ATC solely because SDN or VMM is installed; prevent only duplicate ownership and duplicate health paths for the same resource.
The authored Capability.SDN adapter requires Microsoft's Windows Server SDN MP 10.0.0.2. Install and configure the Microsoft product first:
- Import
Microsoft.Windows.10.SDNMonitoringandMicrosoft.Windows.10.SDNMonitoring.Imagesfrom the official package. - Add the Network Controller nodes as agentless-managed computers in SCOM.
- Create a Run As account whose identity is a member of the Network Controller Clients Kerberos Security Group, then associate it with Microsoft's SDN Monitoring Account profile.
- Trust the Network Controller REST X.509 public certificate in the Local Computer trusted-root store on the SCOM management server.
- Confirm that Microsoft's SDN stamp, controller, host, network, MUX, and gateway objects are discovered before importing the HCS SDN capability.
The HCS adapter does not receive the Run As credential and never calls Network Controller REST. It adds read-only host-binding evidence, fills verified service-rollup gaps, attaches Microsoft's authoritative SDN groups to the private-cloud Management and Networking branches, and provides 16 curated views under Hyper-V Private Cloud > Networking > Software Defined Networking. The local NcHostAgent HostId is displayed as evidence but is not guessed into a Microsoft SDN Host relationship because Microsoft uses a different ResourceId key for that class.
Microsoft's setup instructions and supported Windows Server/SCOM matrix are on the Windows Server SDN MP download page.
Virtual Machine Manager capability
The initial Capability.VMM support lane is System Center 2025 VMM using the exact Management Packs shipped with the installed product. Microsoft couples these packs to the VMM build; do not substitute a VMM 2019/2022 package or assume a later update is compatible merely because its IDs look similar.
Before importing the HCS VMM capability:
- Integrate VMM 2025 with a supported Operations Manager management group by using Microsoft's VMM integration wizard.
- Confirm that the matching VMM Library, Discovery, Monitoring, and PRO v2 Library MPs are imported and that Microsoft VMM management servers, hosts, clouds, and VMs are discovered.
- Confirm that the VMM console installed on each VMM management server matches the VMM service build and that the
VirtualMachineManagerPowerShell module is available. - Configure Microsoft's VMM Server Connection Run As Profile with a dedicated account that has at least the VMM Read-Only Administrator role across every monitored host group, cloud, and library server. Distribute that account only to the VMM management-server targets.
- Import the sealed HCS
Capability.VMMMP after the four HCS core MPs.
The adapter creates a VMM fabric Distributed Application root, relates Microsoft's authoritative servers, hosts, and private clouds to the HCS service graph, and adds the VMM-specific WinRM and agent-version health path without duplicating Microsoft's CPU, memory, Hyper-V service, VM, cloud, storage, alert, performance, dashboard, or report workflows. It also fills three verified gaps: logical networks, network sites, and recent failed-job health.
The failed-job monitor queries Get-SCJob every five minutes. Its default lookback is 24 hours and one failed job is Critical; override JobLookbackHours and FailedJobCriticalCount through a customer Monitoring Overrides MP when a different operational policy is required. Review failed steps and error codes in the VMM Jobs workspace. HCS never retries or repairs a job.
The VMM folder provides fabric-service, server, cloud, host-group, host-cluster, Hyper-V host, VM, VM-network, logical-network, network-site, switch, storage-pool, active-alert, and performance views. Microsoft's richer Fabric, VM, Host, Network, and Storage dashboards remain in the native VMM console area and remain Microsoft-owned.
The VMM adapter is governed-sealed and included in the download. Its representative VMM 2025 runtime certification remains post-installation operator work; do not enable it in production until that topology, health, outage, upgrade, and removal validation is complete in pre-production.
See Microsoft's VMM and Operations Manager integration guidance and VMM role guidance.
Before installation
- Confirm that the SCOM, Windows Server, Hyper-V, Failover Clustering, networking, storage, and optional System Center Virtual Machine Manager versions appear in the release support matrix.
- Confirm that required Microsoft Management Pack libraries and minimum versions are installed.
- Review the monitoring catalog, default-enabled workflows, expected data volume, and known issues.
- Export and archive existing customer Management Packs and record the current management-group configuration.
- Test the release in a representative pre-production SCOM management group.
Do not use a production management group as the first import target.
Install the sealed product MPs
For the first installation, import the core packs in dependency order:
HyperVPrivateCloud.Library;HyperVPrivateCloud.Discovery;HyperVPrivateCloud.Monitoring; andHyperVPrivateCloud.Presentation.
Then import only the capability MPs selected by the deployment profile, after importing each capability's Microsoft or vendor prerequisites. The complete ZIP is a distribution archive, not an instruction to enable every adapter in every environment.
For an existing HAAS-SDR installation, use the 12-pack deployment ZIP. Select all 12 files in one Import-SCOMManagementPack operation so SCOM resolves their internal dependency graph together. Do not remove the old MPs first, and do not import any starter override from the archive.
If a release uses a Management Pack bundle, the release record will state which dependencies remain separate prerequisites. Use the Operations Manager import review to resolve every dependency before committing the import. Do not import any customer override MP until its referenced sealed MP is present.
Microsoft documents the console and shell procedures in Import, export, and remove a Management Pack.
Verify the initial import
Wait for configuration distribution and then verify:
- the expected standalone hosts or clusters are discovered once with stable identity;
- host, cluster, virtual machine, storage, and network relationships match the approved topology;
- each Hyper-V Distributed Application has the expected dynamic membership;
- monitoring-pipeline health is not stale or failed;
- state, alert, performance, event, task, and diagram views open without errors; and
- HealthService, operational database, data warehouse, and alert volumes remain within the release budget.
Do not compensate for missing or duplicate topology by changing monitoring thresholds. Resolve the discovery problem first.
When upgrading from 1.3.7.0, import all selected 1.3.8.0 sealed packs together and retain every customer-owned override MP. Confirm the expected service-root membership and aspect-specific health paths, then use the generated day-2 support catalog to trace any unhealthy leaf. Environments still upgrading from 1.3.4.0 with the temporary Hcs.HyperVPrivateCloud.Topology.Hotfix must import the new sealed packs first, confirm permanent discovery owns the full topology, and only then remove that hotfix. Never remove customer overrides during either upgrade path.
Troubleshoot a dark or partially upgraded installation
First prove that the complete solution was upgraded. This command must return exactly 12 rows at 1.3.8.0 for the non-PureStorage deployment; any other version is a failed/partial import:
Get-SCOMManagementPack |
Where-Object Name -like 'HyperVPrivateCloud.*' |
Where-Object Name -ne 'HyperVPrivateCloud.Capability.PureStorage' |
Sort-Object Name |
Select-Object Name, Version, SealedIf SDN, Storage, File Services, or Network ATC still shows an older version, re-import the 12 files from Hyper-V-Private-Cloud-Monitoring-Deployment-1.3.8.0.zip together. Do not change or remove the customer overrides, do not disable agent proxy, and do not shorten the seed intervals to compensate.
For event 21414 or 21406, record the workflow name, command line, script arguments, stdout, stderr, and process exit code. In 1.0.6.0, stdout is not classified by a regex; the typed SCOM module parses the DataItem. Therefore a new 21414 means stderr contains text or the child exited nonzero. Extract the named script from the MP resource, run the exact pwsh.exe -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File ... command shown in the event, redirect stdout and stderr to separate files, and inspect $LASTEXITCODE. Fix the first exception in stderr; do not edit the returned XML.
Event 8702 is File Services health. Its text includes Facet, ErrorType, and Error. Run Get-VM, Get-VMHardDiskDrive, and Get-SmbConnection under the agent account. Install missing Hyper-V/SMB management features or correct the reported permission/query failure. The singleton .Count failure is corrected in 1.0.6.0 by preserving required-share output as an array.
Event 8304 is Failover Cluster/CSV health. Its text includes the computer, supplied BoundaryId, exception type, and failed query. Run Get-Cluster, Get-ClusterNode, Get-ClusterSharedVolume, and Get-Counter -ListSet 'Cluster CSV File System' under the agent account. If Get-Cluster is missing, run Install-WindowsFeature RSAT-Clustering-PowerShell; otherwise repair the first failing cluster/counter query. Version 1.3.8.0 performs node, quorum, network, group, and CSV collection locally so LocalSystem on a passive node does not authenticate remotely to the owner node. A NoMatchingEventsFound result is treated as an empty event set, while access and missing-log errors remain visible; CSV counters are skipped on clusters with no CSVs. An empty staged BoundaryId does not classify a real cluster node as standalone—the script derives cluster:<name> from Get-Cluster.
After all 12 versions match, allow one four-hour seed cycle plus the 30-minute topology cycle. Then run Test-SdrHyperVPrivateCloudMonitoring.ps1. Acceptance is 16/0, four HostRole instances, and two ClusterRole instances. Investigate any remaining NotReady row by its workflow and event text.
Create customer override MPs
Create two unsealed Management Packs in the Operations console:
| Customer-owned MP | Stores |
|---|---|
<Organization>.HyperVPrivateCloud.Discovery.Overrides | Discovery schedules, supported scope settings, and discovery-targeting groups |
<Organization>.HyperVPrivateCloud.Monitoring.Overrides | Monitor/rule thresholds, timing, enablement, collection settings, and monitoring-targeting groups |
In the Administration workspace, right-click Management Packs, select Create Management Pack, and assign the organization's approved ID, display name, version, and description. The destination file must be customer-owned and unsealed.
Never select the Default Management Pack. Microsoft states that installed unsealed system MPs should not be used for customer settings and recommends a dedicated unsealed override MP for each sealed MP being customized. See Create a Management Pack for overrides.
Your overrides carry your organization's prefix — the shipped ones do not
The public starter override packs are named HyperVPrivateCloud.Discovery.Overrides and HyperVPrivateCloud.Monitoring.Overrides with no organization prefix. They are starting points published alongside the product, not your production overrides.
Do not edit them in place. They are unsealed, so the console will let you — but a later release republishes the same pack IDs and your changes are lost. Instead, either create your own packs as described above, or generate a customer-owned set:
./src/hyper-v/scom-mp/tools/New-HyperVPrivateCloudOverrideManagementPacks.ps1 `
-OrganizationId 'Contoso' -OrganizationName 'Contoso Ltd' `
-OutputPath 'D:\overrides'That produces Contoso.HyperVPrivateCloud.Discovery.Overrides and Contoso.HyperVPrivateCloud.Monitoring.Overrides — owned by you, upgrade-safe, and unambiguous next to the shipped packs.
Create a discovery override
- In the Authoring workspace, open Management Pack Objects and Object Discoveries.
- Locate the documented Hyper-V discovery by its display name and stable workflow ID.
- Choose the appropriate class, group, or specific object target.
- Select only the parameters that must change and keep every value inside its documented range.
- Save the change to the customer Discovery Overrides MP.
- Allow configuration to distribute, then validate discovery data, relationships, DA membership, workflow health, and execution cost.
- Export and archive the approved override MP.
To disable a discovery, create an explicit Enabled = False override in the Discovery Overrides MP. Do not assume already discovered objects will disappear. Review Microsoft's object-discovery override guidance before considering removal of disabled class instances.
Declare the physical fabric
Switches, firewalls, console servers and remote baseboard management controllers cannot host a SCOM agent and do not announce themselves on the network. The product therefore declares them rather than detecting them, and until you declare yours those classes stay empty and no fabric monitor evaluates. That is the correct behaviour for a site that has supplied no endpoints, but it does mean the six fabric state views are empty on a fresh import.
Override the Hyper-V Private Cloud Fabric Seed Discovery (HyperVPrivateCloud.Fabric.Seed.Discovery), which targets HyperVPrivateCloud.HostRole. Scope the override to a group of hosts that share the same rack or room, not to the class, so each host set declares the equipment actually behind it.
Each parameter takes a comma-separated list of Name=Address pairs. Name is the display name the object gets in the console; Address is the management address the health probe connects to.
| Parameter | Devices it declares |
|---|---|
TopOfRackSwitches | Data-fabric leaf and top-of-rack switches |
OutOfBandSwitches | Out-of-band management switches |
EdgeFirewalls | Perimeter firewalls |
ConsoleServers | Opengear or equivalent serial console servers |
ChassisBmcAddresses | Remote baseboard management controllers |
TopOfRackSwitches = LAB-RTP-DCF-LEAF-11=10.1.2.11,LAB-RTP-DCF-LEAF-12=10.1.2.12
OutOfBandSwitches = LAB-RTP-OOB-SW-H77=10.1.2.60
EdgeFirewalls = lab-rtp-inf-fw=10.1.2.1
ConsoleServers = lab-rtp-console=10.1.2.50
ChassisBmcAddresses = hv-sdr-01-bmc=10.1.3.11,hv-sdr-02-bmc=10.1.3.12Omit ChassisBmcAddresses and each host still gets a chassis object where its local baseboard controller answers on the root/wmi Microsoft_IPMI interface. Supply the address and the chassis is probed over the network like every other fabric device.
How a fabric device is evaluated
Each device is probed at its own management address, and the evidence is layered:
| Result | State | Meaning |
|---|---|---|
| A management port accepts a connection | Good | Reachable and manageable |
| ICMP answers, no management port does | Warning | Powered, but not manageable |
| Neither answers | Critical | Unreachable |
| No address declared | Not applicable | Nothing is asserted, and no event is raised |
Default probe ports are 22 and 443 for switches and console servers, 443 and 22 for firewalls, and 443 and 623 for chassis controllers (Redfish and IPMI over RMCP). Where a site listens elsewhere, override ManagementPorts on the relevant fabric monitor with a comma-separated port list.
The agent that runs this discovery must be able to reach those management addresses. Fabric probes run from the Hyper-V host, so a host with no route into the out-of-band network will report its switches Critical — scope the seed override to hosts that can actually reach the equipment they declare.
Create a monitor or rule override
- In the Authoring workspace, open Management Pack Objects, then select Monitors or Rules.
- Locate the documented workflow and verify its target, default, unit, state behavior, and alert or collection effect.
- Prefer For a group for an operational tier or policy cohort. Use a class only for universal policy and a specific object only for a reviewed exception.
- Select the individual parameters to override.
- Save the change to the customer Monitoring Overrides MP.
- Validate both the intended condition and recovery, including alert opening, suppression, auto-resolution, health rollup, and data volume where applicable.
- Export and archive the approved override MP.
When disabling a monitor or rule, use an explicit Enabled = False override and choose the correct destination MP. Do not use a console shortcut that obscures where the change is stored. See Best practices for configuring overrides.
Choose a tuning template
First select the deployment profile whose capabilities exactly match the sealed packs being installed. Profiles range from Standalone through cluster/SAN/Pure/S2D/SMB, Network ATC, SDN, VMM, and CompletePrivateCloud; the complete composition table is in the override architecture. Then select one tuning tier:
| Profile | Choose it when | Do not choose it when |
|---|---|---|
| Lab | Running bounded functional, fault, transition, or diagnostic tests | The environment is production or representative data volume has not been reviewed |
| Standard | Establishing the normal production starting point | Local topology or response requirements clearly differ from the documented assumptions |
| Strict | Protecting explicitly designated critical services with tested response capacity | The goal is simply to generate more alerts or lower every threshold |
Generate a customer-owned pair with:
./src/hyper-v/scom-mp/tools/New-HyperVPrivateCloudOverrideManagementPacks.ps1 `
-DeploymentProfile ClusteredS2D `
-TuningTier Standard `
-OrganizationId Contoso `
-OrganizationName 'Contoso' `
-Version '1.3.8.0' `
-ProductVersion '1.3.8.0' `
-PublicKeyToken '54d0fb1159995c86' `
-OutputPath './out/contoso-overrides'Version belongs to the customer-owned override MPs. ProductVersion must exactly match the installed sealed Hyper-V Private Cloud MPs, and PublicKeyToken must match their signing identity. Neither product fact has a default because guessing produces unresolved references at import time. The product version and token above are the facts for release 1.3.8.0; confirm them against the governed release manifest before generating files for a later release.
The catalog explicitly names every workflow, target class, local module, property, and configuration parameter. It applies shared acquisition settings consistently across every monitor using the same data source to preserve cookdown. The Standard generated Monitoring MP also includes a worked all-hosts group in that same unsealed MP and uses it for core host monitoring and performance collection. A custom profile can define different same-MP Discovery or Monitoring groups; generation fails on cross-unsealed-MP group references.
The public overrides ZIP contains the canonical override templates generated for product 1.3.8.0 and token 54d0fb1159995c86.
Then:
- Read the deployment-profile manifest and change log for the exact product version.
- Review both generated Discovery and Monitoring files.
- Replace the example organization identity with the customer's approved identity.
- Remove settings that are not intentionally adopted.
- Validate XML references and import the files only in pre-production.
- Exercise normal, failure, recovery, maintenance, migration, and failover scenarios.
- Promote the resulting customer-owned files through the customer's change process.
Never import multiple deployment profiles or tuning tiers for the same environment, and never treat Lab values as a production shortcut.
Review effective configuration
An imported override is not proof that the intended value is effective. Review:
- the target class, group membership, and specific instances;
- other class, group, and instance overrides that can apply;
- the destination override MP and its version;
- the workflow's effective configuration on representative agents;
- HealthService events or monitoring-pipeline health for rejected or stale configuration; and
- resulting state, alerts, collections, DA rollup, and runtime cost.
Record the reason, owner, evidence, approval date, and review date for every production deviation from Standard. Company knowledge can document local operational context without modifying sealed product knowledge.
Upgrade safely
- Read the release notes, dependency matrix, monitoring-catalog changes, and tuning-profile diff.
- Export both customer override MPs and retain the currently installed product artifacts.
- Import the newer sealed MPs in dependency order in pre-production.
- Leave the customer override MPs in place and review unresolved, retired, or changed workflow references.
- Repeat representative discovery, health, alert, DA, performance, and scale tests.
- Promote the same signed product artifacts and approved customer overrides to production.
- Verify effective configuration and record the installed versions.
An Operations Manager Management Pack downgrade is not treated as a routine rollback. The release must provide a tested recovery procedure; removal and reimport can affect configuration, objects, and historical data and therefore require a separately approved change.
Remove the product
Removal is dependency-sensitive and potentially destructive. Test the exact release procedure in an isolated management group before production. The expected dependency order is:
- export and archive the customer override MPs;
- remove customer Monitoring Overrides;
- remove customer Discovery Overrides;
- remove optional Reporting and Presentation;
- remove Monitoring;
- remove Discovery; and
- remove Library.
Operations Manager blocks removal while referencing MPs remain. Removing MPs can also remove configuration and affect discovered objects or stored data. Review the product release guide and Microsoft's import/removal documentation before proceeding.
Common mistakes
| Mistake | Safer practice |
|---|---|
| Saving to the Default Management Pack | Create the matching customer Discovery or Monitoring Overrides MP |
| Combining all product overrides in one file | Keep Discovery and Monitoring overrides separate so lifecycle operations do not remove unrelated policy |
| Overriding individual objects at scale | Create an intentional group and document its membership logic |
| Lowering a threshold without duration or recovery analysis | Tune threshold, sampling, duration, and hysteresis as one state contract |
| Disabling discovery to fix a monitor | Correct discovery only when the object should not exist; tune monitoring when it should exist but use different policy |
| Importing a template without review | Copy, rename, trim, test, and own the resulting unsealed files |
| Editing or resealing the product MP | Leave signed product artifacts unchanged and use supported overrides |
| Testing only alert creation | Validate recovery, closure, rollup, maintenance behavior, and data volume too |
Complete Component, Object, and Workflow Reference (360° Architecture)
Release 1.3.8.0 provides the complete 360° service model for Hyper-V Private Clouds. Below is the exhaustive reference of all components, managed classes, discoveries, unit monitors, performance rules, operator diagnostic tasks, and override parameters.
1. Component & Object Model Reference
| Component Group | Managed Classes Contained | Discovery Workflow | Health Rollup Policy |
|---|---|---|---|
| Compute Component | HyperVPrivateCloud.HostRoleHyperVPrivateCloud.PhysicalChassis | HyperVPrivateCloud.Topology.Discovery(CIM Win32_ComputerSystemProduct) | Worst-of (HostRole) Best-of / Non-critical (Chassis hardware) |
| Virtual Machines Component | HyperVPrivateCloud.VirtualMachineHyperVPrivateCloud.VirtualMachineRuntimeHyperVPrivateCloud.VirtualHardDiskHyperVPrivateCloud.VirtualNetworkAdapter | HyperVPrivateCloud.Topology.Discovery(Hyper-V WMI / V2 Virtualization) | Percentage rollup (25% threshold: 25% of VMs degraded/unhealthy triggers component warning/critical) |
| Storage Component | HyperVPrivateCloud.ClusterSharedVolumeHyperVPrivateCloud.VirtualHardDiskCapability.Storage.StorageFabricRoleCapability.S2D.S2DFabricRoleCapability.PureStorage.PureStorageArrayRole | Discover-HyperVPrivateCloudTopology.ps1Discover-HyperVPrivateCloudStorageTopology.ps1Discover-HyperVPrivateCloudS2DTopology.ps1 | Worst-of for required CSV paths & S2D pool health; vendor-isolated for Pure Storage |
| Networking Component | HyperVPrivateCloud.VirtualSwitchHyperVPrivateCloud.VirtualNetworkAdapterHyperVPrivateCloud.TopOfRackSwitchHyperVPrivateCloud.OutOfBandSwitchHyperVPrivateCloud.EdgeFirewallCapability.PhysicalNetwork.PhysicalNetworkRoleCapability.NetworkATC.NetworkATCRoleCapability.SDN.SDNRole | Discover-HyperVPrivateCloudTopology.ps1(Get-VMSwitch, LLDP Neighbor Discovery) Discover-HyperVPrivateCloudPhysicalNetworkTopology.ps1Discover-HyperVPrivateCloudNetworkATCTopology.ps1 | Worst-of for virtual switch & SET uplinks; redundancy-aware for dual ToR data switches |
| Availability & Clustering | Capability.Cluster.ClusterRoleCapability.Cluster.AvailabilityContainsMicrosoftClusterNodeCapability.Cluster.AvailabilityContainsMicrosoftClusterGroup | Discover-HyperVPrivateCloudClusterTopology.ps1(MS Clustering WMI / Get-Cluster) | Worst-of for cluster quorum & core cluster resources; best-of for cluster networks |
| Management Infrastructure | HyperVPrivateCloud.ActiveDirectoryServiceHyperVPrivateCloud.DnsServiceHyperVPrivateCloud.DeploymentServiceHyperVPrivateCloud.ConsoleServerHyperVPrivateCloud.DhcpServiceCapability.VMM.VMMRole | Discover-HyperVPrivateCloudTopology.ps1(Win32_ComputerSystem, Get-DnsClientServerAddress, Get-Service WDSServer, DHCPServer) | Worst-of for AD Secure Channel & DNS resolution; operational warning for PXE/WDS/DHCP |
| Monitoring Pipeline | HyperVPrivateCloud.MonitoringPipeline | Discover-HyperVPrivateCloudTopology.ps1 | Worst-of (ensures telemetry integrity; missing telemetry cannot present as Healthy) |
2. Unit Monitors Catalog
All monitors use PowerShell 7 (pwsh.exe) typed data items with native SCOM Cookdown to ensure a single probe execution per host feeds multiple monitors without CPU overhead.
| Target Class | Monitor Name | Monitor Type | Default Interval | Warning / Error Condition | Overrideable Parameters |
|---|---|---|---|---|---|
HostRole | Host.Compute.Cpu | ConsecutiveSamples (3) | 300s | CPU utilization > 85% Warning, > 95% Critical | Threshold, NumSamples, IntervalSeconds |
HostRole | Host.Compute.Memory | ConsecutiveSamples (3) | 300s | Available Memory < 4096 MB Warning, < 2048 MB Critical | Threshold, NumSamples, IntervalSeconds |
HostRole | Host.Compute.VMMS | ServiceMonitor | 60s | vmms (Hyper-V Virtual Machine Management) service Stopped | IntervalSeconds, GenerateAlert |
HostRole | Host.Compute.VmCompute | ServiceMonitor | 60s | vmcompute (Hyper-V Host Compute Service) Stopped | IntervalSeconds, GenerateAlert |
HostRole | Host.Network.VirtualSwitch | TwoState (Cooked Bag) | 300s | External Virtual Switch missing active physical NIC uplinks | IntervalSeconds, TimeoutSeconds |
HostRole | Host.Domain.SecureChannel | TwoState (Cooked Bag) | 600s | AD Domain Controller secure channel broken or RPC failure | IntervalSeconds, TimeoutSeconds |
HostRole | Host.Domain.DnsResolution | TwoState (Cooked Bag) | 600s | DNS forward/reverse resolution failure for cluster/AD FQDN | IntervalSeconds, TimeoutSeconds |
HostRole | Host.Management.PxeWds | TwoState (Cooked Bag) | 900s | WDSServer service stopped or TFTP listener port 69 unresponsive | IntervalSeconds, TimeoutSeconds |
HostRole | Host.Pipeline.Freshness | TwoState (Heartbeat) | 300s | PowerShell 7 probe execution failure or probe age > 900s | IntervalSeconds, MaxAgeSeconds |
VirtualMachine | VM.State.Heartbeat | TwoState (Cooked Bag) | 60s | VM Integration Services heartbeat lost or missed | IntervalSeconds, GenerateAlert |
VirtualMachine | VM.State.Operational | TwoState (Cooked Bag) | 60s | VM in Paused, Saved, or Suspended state unexpectedly | IntervalSeconds, ExpectedState |
VirtualMachine | VM.Storage.VhdDisconnection | TwoState (Cooked Bag) | 300s | Attached VHD/VHDX disk missing, detached, or inaccessible | IntervalSeconds, TimeoutSeconds |
ClusterSharedVolume | CSV.State.VolumeStatus | TwoState (Cooked Bag) | 120s | CSV volume state in Redirected Access, Detached, or Paused | IntervalSeconds, RedirectedIsWarning |
ClusterSharedVolume | CSV.Capacity.FreeSpace | TwoState (Threshold) | 300s | CSV free space < 15% Warning, < 5% Critical | WarningThreshold, CriticalThreshold |
ClusterSharedVolume | CSV.Performance.Latency | ConsecutiveSamples (3) | 300s | Disk read/write latency > 25ms Warning, > 50ms Critical | LatencyThresholdMs, NumSamples |
Capability.S2D | S2D.Pool.Health | TwoState (WMI Event) | Event / 300s | Storage Spaces Direct Pool Degraded or Unhealthy | IntervalSeconds, GenerateAlert |
Capability.Storage | Storage.MPIO.PathRedundancy | TwoState (Cooked Bag) | 300s | Active multipath count < configured optimized paths | MinRequiredPaths, IntervalSeconds |
Capability.PhysicalNetwork | PhysicalNetwork.Link.Flapping | ConsecutiveSamples (2) | 120s | Physical NIC link flap count > 3 in 5 minutes | MaxFlapsPerInterval, IntervalSeconds |
Capability.NetworkATC | NetworkATC.Intent.Drift | TwoState (Cooked Bag) | 600s | Host network configuration drifted from cluster Intent | IntervalSeconds, AutoRemediate |
Capability.SDN | SDN.Host.Binding | TwoState (Cooked Bag) | 300s | Host certificate expired or Network Controller connection lost | IntervalSeconds, GenerateAlert |
3. Performance Rules & Collection Catalog
| Target Class | Rule Name | Counter Collected | Default Interval | Purpose |
|---|---|---|---|---|
HostRole | Host.Perf.CpuTotal | \Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time | 300s | Core cluster host CPU load |
HostRole | Host.Perf.MemoryAvailable | \Memory\Available MBytes | 300s | Host physical memory headroom |
HostRole | Host.Perf.ContextSwitches | \System\Context Switches/sec | 300s | Kernel and hypervisor thread switching density |
VirtualMachine | VM.Perf.CpuUsage | \Hyper-V Hypervisor Virtual Processor(*)\% Guest Run Time | 300s | Individual VM compute consumption |
VirtualMachine | VM.Perf.MemoryAssigned | \Hyper-V Dynamic Memory VM(*)\Physical Memory | 300s | Assigned memory footprint |
ClusterSharedVolume | CSV.Perf.ReadLatency | \Cluster CSV File System(*)\Avg. sec/Read | 300s | Storage read latency telemetry |
ClusterSharedVolume | CSV.Perf.WriteLatency | \Cluster CSV File System(*)\Avg. sec/Write | 300s | Storage write latency telemetry |
ClusterSharedVolume | CSV.Perf.IopsTotal | \Cluster CSV File System(*)\IO/sec | 300s | Overall storage IOPS demand |
Capability.PhysicalNetwork | PhysicalNetwork.Perf.InDiscard | \Network Interface(*)\Packets Received Discarded | 300s | Inbound switch/NIC buffer drops |
Capability.PhysicalNetwork | PhysicalNetwork.Perf.OutDiscard | \Network Interface(*)\Packets Outbound Discarded | 300s | Outbound port queue congestion drops |
4. Operations Hub & Deep Troubleshooting Diagnostic Tasks
Operators can invoke these targeted PowerShell 7 tasks directly from the SCOM Operations Console against discovered objects:
| Target Class | Task Name | Display Name | Parameters | Purpose & Output |
|---|---|---|---|---|
HostRole | Task.TestDomainHealth | Test AD Secure Channel & Domain | -Verbose | Validates Netlogon secure channel, PDC role connectivity, and replication status. |
HostRole | Task.TestDnsResolution | Test DNS Resolution & Latency | -QueryName, -Server | Resolves forward/reverse DNS records across all configured resolvers and measures query latency. |
HostRole | Task.TestPortConnectivity | Test TCP / UDP Port Connectivity | -Destination, -Port | Tests socket connection to management endpoints (SCVMM: 8100, SCOM: 5723, WDS: 69, SMB: 445). |
HostRole | Task.TestPxeWdsHealth | Test PXE / WDS Deployment Service | -TestTftp | Verifies WDSServer service, TFTP UDP 69 binding, and PXE boot provider authorization. |
PhysicalNetwork | Task.GetLldpNeighbor | Discover ToR Switch Neighbor (LLDP/CDP) | -InterfaceName | Reads host physical NIC neighbor cache; returns connected switch name, chassis ID, port ID, and VLANs. |
PhysicalNetwork | Task.PfcEtsCounters | Query RDMA & PFC / ETS Pause Counters | -InterfaceName | Reports RDMA Priority Flow Control (PFC) pause frames sent/received and buffer congestion drops. |
VirtualMachine | Task.GetVmDiagnosticSummary | Get VM Diagnostic Summary | -VmName | Detailed VM dump: uptime, memory allocation, vCPU count, integration component versions, checkpoint tree. |
ClusterSharedVolume | Task.GetCsvDiagnostics | Get CSV Health & Coordinator State | -VolumeName | Reports CSV coordinator node, direct vs. redirected I/O status, block size, and storage subsystem health. |
5. Overrides & Tuning Tiers
Overrides are managed strictly through customer-owned, unsealed Management Packs:
HyperVPrivateCloud.Discovery.Overrides: Adjusts discovery intervals (default 1800s; Lab 600s, Strict 3600s).HyperVPrivateCloud.Monitoring.Overrides: Adjusts monitor enablement, sample counts, thresholds, and alert generation.
| Parameter | Lab Tier | Standard Tier (Default) | Strict Tier |
|---|---|---|---|
| Host CPU Alert Threshold | 90% (2 samples) | 85% (3 samples) | 80% (2 samples) |
| Available Memory Threshold | 1024 MB | 2048 MB | 4096 MB |
| CSV Latency Threshold | 50 ms | 25 ms | 15 ms |
| CSV Free Space Warning | 10% | 15% | 20% |
| VM Degradation Rollup | 50% threshold | 25% threshold | 10% threshold |
| Discovery Schedule | Every 10 min | Every 30 min | Every 60 min |