Interesting Issue – KMS Count Not Incrementing Over 6 Machines
So Windows 7 licensing has a requirement that 25 machines must be up and running on the network in order to allow the KMS (Key Management Service) Server to activate those Windows Machines and be recognized as Genuine Windows licensed machines. This is well and good for a company that leases their own machines and can roll them out en masse to a large number of users simultaneously. However, for the smaller company, this can be a bit problematic if you’re rolling out to just a few users everyday over a period of time.
To combat this, one would instead use the MAK (Multiple Activation Key) license to these machines. Furthermore, if you’re hellbent on using KMS, you can use this as a temporary fix until you can get the required 25 machines online, and then “flip” the machines to the KMS license.
Doing so is fairly simple, and extremely simple if you’re using SMS 2003 or SCCM 2007. If you follow the instructions found on Microsoft Technet, you can simply use the following commands in order to flip the key.
slmgr.vbs /ipk <KmsSetupKey> – Allows you to change the MAK key to what is called a Generic Volume License Key. Microsoft is nice enough to list the GLVK’s for you in the references KB Article. Next,
slmgr.vbs /ato – Allows you to force the machine to go find the KMS server and activate it’s license under your agreement.
By the way, for you to use SMS or SCCM 2007 to perform the above functions, you have to fully qualify the path of the vbscript in question, (cscript C:WindowsSystem32slmgr.vbs /switch) else the SYSTEM account which is usually what is running the app won’t know where to look. Also, make sure you qualify it as cscript, or else it’ll default to wscript and hang up because it’s waiting for the non-existent user to click OK to terminate the script.
Simple enough, eh?
Well. Not Exactly.
We did just the above steps, and our count did not increment over 6 for some reason. Did some googling around and I couldn’t find anything online, so I went to the awesome gurus at Technet to see what they would say. Darrel Gorter at MSFT brought up and awesome article regarding looking at the CMIDs of the clients to see if they were the same. Interestingly the article mentioned that this typically happens when you sysprep the image without using the /generalize switch, which I used.
Armed with this new information, and downloading the recommended Volume Activation Tool v2.0, I set about my work. First I downloaded the tool and installed it and ran it against my machines, finding that sure enough, only six were activated listed in VAMT as “Out of box grace” with the remaining machines all marked as “Notification”.
So I go back to the article regarding the CMIDs and it shows how to parse your KMS Server logs to sort out the machines by CMID and take a look. And I’m seeing all of the machines have their own unique CMIDs. Until the day that I implemented the KMS to MAK flip. All of the machines when flipped picked up the same CMID.
So I do a little bit of researching, and I find that supposedly running the slmgr.vbs /rearm switch allows the CMID to be reset (albeit according to MSFT, this is not supported). I run this on my machine and find out that the machine does in fact need to be restarted in order for this change to take effect. Also, even though it’s not specified, the user has to log back into the machine in order for it to call into the KMS server after the reboot. However, after this is all said and done, my machine now has a new unique CMID and is showing with its “Out of box grace and Genuine” status messages in VAMT. As well, my KMS Server count incremented by 1.
So, I go into SCCM and set up a new package to run the (cscript C:WindowsSystem32)slmgr.vbs /rearm. Then I set the package to only install if there is no user logged in, and then set the package to have SCCM reboot the machine after the command has finished running.
I then instructed my users to reboot or log off of their machines at the end of the day before they leave. And guess what? I’m now watching my KMS Server increment just fine.
So in short, if you have a problem with your KMS server incrementing, do the following:
– Download VAMT and see what’s going on.
– Check this article and look at your CMIDs.
– Perform a rearm on select machines to see if it fixes the CMID problem if you have one.
– Talk to the guys on TechNet, they are the bomb. And while they may not necessarily just toss the answer on a platter to you, they’ll get you pointed in the right direction.
About This Post