Hyper-V discovery
The ServiceNow Discovery application finds Microsoft Hyper-V hypervisors in your environment.
Hyper-V is a hypervisor developed by Microsoft that enables you to create and manage virtual machines (VMs) on a physical server or computer. It enables hardware virtualization, enabling multiple virtual machines to run on a single physical machine while sharing the underlying hardware resources, such as CPU, memory, storage, and networking.
Note: See the knowledge article KB0687582 for information on model_id and manufacturer.
Hyper-V supports the following functionality:
- Failover clustering: Failover is managed with Failover Cluster Manager.
- Live migration: Virtual machines can be moved between failover cluster nodes without bringing down the virtual machine.
Note: For information on Probe to Pattern migration see the knowledge article KB0694477.
Supported versions
Discovery is supported for Hyper-V running on the following Windows Server versions:
- 2008
- 2012
- 2012 R2
- 2016
- 2019
- 2022
- 2025
Important: Discovery of Hyper-V running on Windows starting from version 2016 supports pattern discovery only. If you upgraded and are still using probes and sensors for discovery, see KB0694773 for instructions on configuring Hyper-V probes.
Hyper-V data models
There are 2 types of Hyper-V:
- Hyper-V on Windows Server: This model, installed as a server role on Windows Servers, is designed for enterprises needing both virtualization and other server roles (for example: file servers, Active Directory, web servers) on the same machine.
- Hyper-V Server (Standalone): A free, lightweight version of Windows Server specifically designed for virtualization. It includes only the Hyper-V hypervisor and no graphical user interface (GUI) or additional server roles.
Discovery supports identifying and mapping both types of Hyper-V environments. However, the CMDB data models differ between the two deployment types.
Key differences between Windows Server with Hyper-V role and Hyper-V Server using a VM with Windows OS example
| Key aspects | Windows Server with Hyper-V role | Hyper-V Server |
|---|---|---|
| Hyper-V Server CI |
| Name of the CI is the Hyper-V Server. |
| Hyper-V Cluster has Members::Member of relationship with Hyper-V Server | YesThe Hyper-V Server table:
| YesThe Hyper-V Server table:
|
| Hyper-V Server has Runs on::Runs relationship with Windows Server | YesThe Windows Server table:
| No |
| Operating system (OS) installed on the VM has Virtualized by::Virtualizes relationship with Hyper-V Server | YesThe OS table (for example: Windows Server/Linux Server):
| YesThe OS table (for example: Windows Server/Linux Server):
|
| OS installed on the VM has Instantiates::Instantiated by relationship with Hyper-V Virtual Machine Instance | Yes | Yes |
| CPU cores count | Is identical between the physical Windows Server host and the Hyper-V Server | The parent Windows Servers table reflects the physical cores, while the Hyper-V Server table displays the virtual cores |
Credentials
Configure Windows credentials with Domain administrator rights. You should also Enable PowerShell for the MID Server used to discover Hyper-V servers and instances.
Classifier, probes, and pattern
| Classifier | Probes | Pattern |
|---|---|---|
| Hyper-V ServerThe classification applies to standalone Hyper-V servers only \(servers NOT running on Windows 2008\). | - Horizontal discovery probe: Launches patterns - Windows - ADM^ - Windows - Installed Software^ - Hyper-V - Cluster\* - Hyper-V - Resource Pools\* - Hyper-V - Virtual Machines\* - Hyper-V - Virtual Networks\* - Several other Windows probes also run, such as Windows - Identity, Windows - software, and so on.\* | Hyper-V Server |
*These probes aren't active on the classifier, as Discovery uses patterns by default for these discoveries.
^These probes remain active by default, even when Discovery uses pattern discovery.
To use patterns, verify that the correct pattern is specified in the horizontal pattern probe on the classifier. See Add the Horizontal Pattern probe to a classifier for instructions.
Data collected by Discovery during horizontal discovery
| Label | Field Name | Data Description | Stored in Table |
|---|---|---|---|
| Object ID ^ | object\_id | ID | `cmdb_ci_hyper_v_instance` |
| Name^ | name | name | `cmdb_ci_hyper_v_instance` |
| State | state | - On - Off | `cmdb_ci_hyper_v_instance` \* |
| CPUs | cpus | Count | `cmdb_ci_hyper_v_instance` \* |
| Memory | memory | Quantity in MB | `cmdb_ci_hyper_v_instance` \* |
| Network adapters | nics | Count | `cmdb_ci_hyper_v_instance` \* |
| Disks | disks | Count+ | `cmdb_ci_hyper_v_instance` \* |
| Disks size | disks\_size | Capacity in GB+ | `cmdb_ci_hyper_v_instance` \* |
| Virtual Base Board Serial Number | baseboard\_serial | Virtual serial number | `cmdb_ci_hyper_v_instance` |
| BIOS Serial Number | bios\_serial | Virtual serial number | `cmdb_ci_hyper_v_instance` |
| Chassis Serial Number | chassis\_serial | Virtual serial number | `cmdb_ci_hyper_v_instance` |
| BIOS GUID | bios\_guid | Globally unique identifier \(GUID\) | `cmdb_ci_hyper_v_instance` |
*Attributes that are put in the cmdb_ci_hyper_v_instance table when using the Hyper-V Server pattern. For upgrades, probes and sensors continue to put these attributes in the cmdb_ci_vm_instance table.
^Newly discovered attribute when using the Hyper-V Server pattern.
+Discovery can only return this information if the virtual machine is running.
| Label | Field | Store in table |
|---|---|---|
| Name | name | cmdb_ci_hyper_v_server |
| Chassis type | chassis_type | cmdb_ci_hyper_v_server |
| Description | short_description | cmdb_ci_hyper_v_server |
| OS Address Width (bits) | os_address_width | cmdb_ci_hyper_v_server |
| Operating System | OS | cmdb_ci_hyper_v_server |
| Host name | hostname | cmdb_ci_hyper_v_server |
| IP Address | ip_address | cmdb_ci_hyper_v_server |
| OS Version | os_version | cmdb_ci_hyper_v_server |
| OS Service Pack | os_service_pack | cmdb_ci_hyper_v_server |
| Is virtual | virtual | cmdb_ci_hyper_v_server |
| Label | Field Name | Data Description | Stored in Table |
|---|---|---|---|
| Name | name | Name of the virtual network | cmdb_ci_hyper_v_network * |
| ID | object_id | Globally unique identifier (GUID) | cmdb_ci_hyper_v_network * |
*Attributes that are put in the cmdb_ci_hyper_v_network table when using the Hyper-V Server pattern. For upgrades, probes and sensors continue to put these attributes in the cmdb_ci table (name) and the cmdb_ci_vm_object table (object_id).
| Label | Field Name | Data Description | Stored in Table |
|---|---|---|---|
| Name^ | name | Name of the resource pool. | cmdb_ci_hyper_v_resource_pool |
| ID | object_id | Globally unique identifier (GUID) | cmdb_ci_hyper_v_rpool_comp |
| Capacity | capacity | Maximum amount of the appropriate allocation unit | cmdb_ci_hyper_v_rpool_comp |
| Allocation units | allocation_units | Units of measurement used (for example, MB or GB) | cmdb_ci_hyper_v_rpool_comp |
| Resource type | resource_type | Type of resource discovered (for example, memory, or hard drive space) | cmdb_ci_hyper_v_rpool_comp |
| Label | Field Name | Data Description | Stored in Table | Reference Table |
|---|---|---|---|---|
| Windows Cluster | name | Reference field displaying the Windows Cluster on which the Hyper-V cluster resides. | cmdb_ci_hyper_v_cluster | cmdb_ci_win_cluster |
Relationships
Discovery creates records in the CMDB for the host machine, the parent partition running Windows Server 2008, and all the virtual machines running on the Hyper-V server. Discovery finds the stored templates and maps all the relationships between components.
The instance modifies these tables for use with multiple virtualization products:
| Table | Purpose |
|---|---|
| Virtualization Server \[cmdb\_ci\_virtualization\_server\] | Contains data on all discovered virtualization servers. |
| Virtual Machine Instance \[cmdb\_ci\_vm\_instance\] | Contains data on all discovered virtual machine instances. |
| Virtual Machine Object \[cmdb\_ci\_vm\_object\] | Contains data about various objects associated with a Hyper-V server, such as partitions, networks, resource pools, and clusters. |
| Parent table | Relationship | Child table |
|---|---|---|
| Hyper-V Virtual Machine Instance [cmdb_ci_hyper_v_instance] | Registered on::Has registered | Hyper-V Server [cmdb_ci_hyper_v_server] |
| Hyper-V Virtual Machine Instance [cmdb_ci_hyper_v_instance] | Connected by ::Connects | Hyper-V Network [cmdb_ci_hyper_v_network] |
| Hyper-V Network [cmdb_ci_hyper_v_network] | Provided::Provides | Hyper-V Server [cmdb_ci_hyper_v_server] |
| Hyper-V Resource Pool [cmdb_ci_hyper_v_resource_pool] | Defines resources for:Gets resources from | Hyper-V Server [cmdb_ci_hyper_v_server] |
| Hyper-V Resource Pool Components [cmdb_ci_hyper_v_rpool_comp] | Contained by::Contains | Hyper-V Resource Pool [cmdb_ci_hyper_v_resource_pool] |
| Hyper-V Cluster [cmdb_ci_hyper_v_cluster] | Members::Member of | Hyper-V Server [cmdb_ci_hyper_v_server] |
| Hyper-V Server [cmdb_ci_hyper_v_server] | Runs on::Runs | Windows Servers [cmdb_ci_win_server] |
| Windows Servers [cmdb_ci_win_server] | Instantiates::Instantiated by | Hyper-V Virtual Machine Instance [cmdb_ci_hyper_v_instance] |
| Windows Servers [cmdb_ci_win_server] | Virtualized by::Virtualizes | Hyper-V Server [cmdb_ci_hyper_v_server] |
Parent Topic:Operating systems discovery
Clone Hyper-V virtual machines
When importing (cloning) Hyper-V virtual machines, make sure each virtual machine has a unique ID. Discovery identifies virtual machines with duplicate IDs as the same machine.
- Export the virtual machine from the Hyper-V server.
- Import the virtual machine into a different server, making one of the these choices:
- Move or restore the virtual machine: This selection clones the image, using the same ID, and moves it to another server. The original image remains on the Hyper-V server.
- Copy the virtual machine: This selection copies the virtual machine, using a different ID, and moves it from the Hyper-V server. This is the best selection and does not require any further action before you run Discovery.
If you import the Hyper-V clone using the Move or restore selection, be sure to delete the original image from the Hyper-V server.
When Discovery encounters two virtual machines with the same equivalent serial numbers, it creates only one configuration item (CI).