What is system uuid on windows and why cant it be easily changed

I was installing some software and it said that the locking criteria is the system UUID. Now I know what UUID stands for. I know they are unique and are 128 bits long. I know how to generate them from a windows power shell. But my question is what is the system UUID on a windows 7 machine. Where is it stored. And what is the purpose behind having a UUID for every computer? Could someone please clear these doubts for me? What are they used for apart from verifying that the same software is not installed again on the same computer?


System UUID cannot be changed : it depends upon the hardware. It is determined at creation time by the hypervisor : KVM, Hyper-V, VMWare, ...

You can get the UUID this way :

On Windows

cmd.exe

wmic csproduct get UUID 

Powershell

Get-WmiObject -Class "Win32_ComputerSystemProduct" | Select-Object -Property UUID 

On Linux based Systems

#! /bin/sh
dmidecode -s system-uuid