WMI UUID Differs from VirtualCenter UUID
search cancel

WMI UUID Differs from VirtualCenter UUID

book

Article ID: 344089

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

I need to identify my virtual machines uniquely, for inventory purposes. The UUID of a virtual machine is available in the VirtualCenter client, but the value does not match the UUID reported by WMI (Windows Management Instrumentation) in the guest operating system. Why is this? Can I depend on the stability of either of these values?

Environment

VMware VirtualCenter 1.1.x
VMware vCenter Server 5.5.x
VMware VirtualCenter 1.2.x
VMware VirtualCenter 2.0.x
VMware VirtualCenter 1.3.x
VMware vCenter Server 6.x

Resolution

VMware VirtualCenter assigns a unique, 16-byte identifier string (a UUID) to each virtual machine it manages. The UUID is stored in the virtual machine's configuration file (.vmx file) and can be accessed with the VirtualCenter client or the Virtual Infrastructure SDK. The value of the UUID is fixed; the format of the UUID differs, depending on the way in which it is retrieved.

In the virtual machine's configuration file, the UUID is stored under the "uuid.bios" key. The format separates the bytes with spaces and a hyphen. A sample UUID looks like this:

00 11 22 33 44 55 66 77-88 99 AA BB CC DD EE FF

The format used in the configuration file is the same format reported by the SDK for VirtualMachineInfo.uuid and VirtualMachineInfo.config; the latter is an array of properties retrieved from the configuration file.

However, the format of the UUID is different when it is used as a virtual machine identifier in the /vm path hierarchy. There the UUID is presented in a format described in ISO 11578. In this format, the UUID has a different byte order, and several hyphens are used to separate some of the bytes. The sample UUID shown above would be reported in this format for ISO 11578 compatibility:

33221100-5544-7766-8899-AABBCCDDEEFF

Note that Microsoft's WMI interface also reports a virtual machine's UUID to the guest operating system. This UUID is in the ISO 11578 format, and can't be compared directly to the internal form of the UUID.

As long as you retrieve the UUID in a consistent way, it retains a consistent value. You should not try to compare the value of the UUID when obtained from different sources without appropriate format conversion.

For more information on managing UUIDs when migrating virtual machines, see www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1541.