We have recently added support for Azure VM unique ID. Azure VM unique ID is a 128bits identifier that is encoded and stored in all Azure IaaS VM’ SMBIOS and can be read using platform BIOS commands.
This identifier can be used in different scenarios whether the VM is running on Azure or on-premises and can help your licensing, reporting or general tracking requirements you may have on your Azure IaaS deployments. Many independent software vendors and partners building applications and certifying them on Azure may require to identify an Azure VM throughout its lifecycle and to tell if the VM is running on Azure, on-Premises or on other cloud providers. This platform identifier can for example help detect if the software is properly licensed or help to correlate any VM data to its source such as to assist on setting the right metrics for the right platform and to track and correlate these metrics amongst other uses.
This unique identifier cannot be modified, it can only be queried. Although only new VMs created after 09/18/2014 will have this capability enabled upon creation, VMs that were created prior to 09/18/2014, will automatically get this capability upon next VM restart. Azure Unique VM ID won’t change upon reboot, shutdown (either planned for unplanned), start/stop de-allocate, service healing or restore in place. However, if the VM is a snapshot and copied to create a new instance, Azure VM ID will get changed.
To access Azure VM ID from within the VM, follow these steps:
Step 1– Create a VM (only VMs created after 9/18/2014 will have this feature enabled by default)
Follow these steps: How to Create a Custom Virtual Machine
Step 2– Connect to the VM
Follow these steps: How to Log on to a Virtual Machine Running Windows Server or How to Log on to a Virtual Machine Running Linux
Step 3 – Query VM Unique ID
Linux VMs
Command (Ubuntu):
sudo dmidecode | grep UUIDExample Expected Results:
UUID: 090556DA-D4FA-764F-A9F1-63614EDA019A
Due to Big Endian bit ordering, the actual unique VM ID in this case will be:
DA 56 05 09 – FA D4 – 4f 76 - A9F1-63614EDA019A
Windows VMs
Commands:
$systemEnclosure = Get-WmiObject -class Win32_SystemEnclosure -namespace root\CIMV2 $computerSystemProduct = Get-WmiObject -class Win32_ComputerSystemProduct -namespace root\CIMV2 'BIOS GUID: "{0}"' -f $computerSystemProduct.UUIDExample expected results: BIOS GUID:
"BC5BCA47-A882-4096-BB2D-D76E6C170534"
No matter what your platform or applications requirements on Azure VM, you can now have access to an Azure VM unique identifier. If you have older VMs created and running since this new feature got rolled out, please restart your VM to automatically get a unique ID which you can start using upon reset.