I, too need, to find a way to globally uniquely identify Windows installations. Firstly, in order to properly classify and identify backup images and determine which ones get recovered on which machines. Secondly, in order to name sychronization pairs for synchronizing files and to determine which synchronization pair to use depending on the machines involved in the synchronization.
After reading several posts, including those on this website, I conclude that there is no easy way to find a globally unique identifier of a Windows installation. That is too bad. Like the hardware, the software should also have its own serial number. Oh well! So this is my workaround: Instead of finding one single globally unique identifier, I have created a sylized statement, which is inspired on the way in which Microsoft names network drives on Windows and the way it names shared folders in Virtual PC: "[WINDOWS PRODUCT ID (as variable)] Installed on [COMPUTER SERIAL NUMBER (as variable)]." Although a Windows production identification number is unique only insofar as the corresponding product key is, it is, nevertheless, liable to be the same across several installations, especially on mass-produced computers containing factory-installed Windows, but a serial number is unique and is different from one machine to another. The above-mentioned formula is all I need for my purposes; I do not need the SID (I presume that it signifies Security Identifier) or something else more complex, because the combination of both variables references exactly the Windows installation that I need to identify, whereas each individual variable is, on its own, of no use to me. Specifically and firstly, the Windows product identification is identical on computers made by the same manufacturer and found in the same product line and that serves me no purpose, since I own several identical machines. Secondly, the serial number is not uniquely identifying enough, since I do have several Windows installations on one computer that a computer serial number does not address. I therefore suggest my method.
Also, and before you inquire about it: I chose not to base my method on the computer name. The information is user-based and therefore needs to be inventoried. However, the Windows product identification and the computer serial number are already identified, inventoried and invariably connected to two specific products, thereby eliminating the need to inventory them again. I would neither elect to identify a Windows installation with a unique identifier of hard drives, since I am able and quite apt to switch them around from one machine to another, especially when drive capacities are in a state of constant flux. By the same token, I would much less use the identifying nomenclature of either the central processing unit or the motherboard, as has been heretofore suggested in a previous reply by Shoeless. Finally, I also reject the most obvious option of identifying a Windows installation (although it has not been mentionned by anybody else from what I can see): using the product key. Although it is unique, it is only a license to install a certain version of Windows; it is not actually connected to a particular Windows installation and it does not distinguish it as being installed on a particular machine, even though the license was granted by virtue of the purchase a given computer.