New hardware ID

Darkling 1 Reputation point
2021-09-29T01:42:35.12+00:00

Hi all,

Is there a reason why my hardware ID for my VM would reset each day? It is creating licensing issues for programs I am running.

Is there was to keep the same hardware ID?

System Center Virtual Machine Manager
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Anonymous
    2021-09-29T02:20:15.19+00:00

    By default the MAC is dynamic but can be configured static if desired.

    136043-image.png

    --please don't forget to upvote and Accept as answer if the reply is helpful--


  2. AlexZhu-MSFT 6,591 Reputation points Moderator
    2021-09-30T02:26:34.06+00:00

    Hi,

    Firstly, we can contact the program vendor/developer to check which hardware information it relies on. Most programs (using hardware ID licensing) rely on the hardware information documented in this article.

    Different virtualization platform may have different method to handle the virtual machine UUID. For hyper-v, the information is defined as below:

    How to use uniquely identify a virtual machine in Hyper-V
    https://learn.microsoft.com/en-us/archive/blogs/jhoward/how-to-use-uniquely-identify-a-virtual-machine-in-hyper-v

    136446-virtual-machine-uuid.png
    If the guest OS is windows, the information can be retrieved via below VB Script. And we may check this to see if it changes everyday. If this is fixed, the program may not rely on this.

    If we are runing a linux guest OS in hyper-v, we can use sudo dmidecode | grep UUID command to retrieve the information.

     Const wbemFlagReturnImmediately = &h10  
     Const wbemFlagForwardOnly = &h20  
     Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")   
     set colBIOS = objWMIService.ExecQuery( _  
      "SELECT SerialNumber FROM Win32_BIOS", _  
      "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)   
     set colBB = objWMIService.ExecQuery( _  
      "SELECT SerialNumber FROM " & _  
      "Win32_BaseBoard", _  
      "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)   
     Set colSE = objWMIService.ExecQuery( _  
      "SELECT SerialNumber,SMBIOSAssetTag " & _  
      "FROM Win32_SystemEnclosure", _  
      "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)   
     For Each objItem in colBIOS  
        WScript.Echo _  
          "BIOS:            SerialNumber:   " & _  
          objItem.SerialNumber  
     Next   
     For Each objItem in colBB  
        WScript.Echo _  
          "Baseboard:       SerialNumber:   " & _  
          objItem.SerialNumber  
     Next   
     For Each objItem In colSE  
        WScript.Echo _  
          "SystemEnclosure: SerialNumber:   " & _  
          objItem.SerialNumber  
        WScript.Echo _  
          "SystemEnclosure: SMBIOSAssetTag: " & _  
          objItem.SMBIOSAssetTag  
     Next   
      
    

    136502-get-bios-sn-for-vm.png

    Alex
    If the response is helpful, please click "Accept Answer" and upvote it.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.