Licensing Issue - Deploying TS via VMware template

Soldato
Joined
17 Jul 2005
Posts
3,193
Does anyone have a solution to this?

We have a VMWare infrastruture, upon which we host amongst other things 21 x application terminal servers. I have a base image from which I deploy all of these servers.

There are numerous applications/changes we make on a reasonably regular basis, so I delete all the servers and re-deploy via the template/base image. This uses custom specifications to join them to the domain, change the hostname, create a new SID (in essence a full sysprep) etc, etc.

This all works great.

However I've just come across a problem after deploying them again whereby the machines would not activate against our KMS server. We have the KMS service installed on a 2008 DC with one of our 2k8 KMS keys attached. I think i've found the problem in that KMS activates up to 10 times on six different computers. We must have just exceeded that.

I guess I can call M$ and have them increase this limit - but it is obv. going to be a repetitive issue, unless I am doing something wrong, or there is an alternative way around this?

Thanks
Steve
 
I'm not all that familiar with terminal servers, what you're doing seems a bit mad to me and there should be an easier way, but I may also be utterly wrong and this is situation normal.

Could you just script it to give each of the 21 servers a different SID, but every time you redeploy them give them the same 21 SIDs?
The theory being the SIDs are the same so they shouldn't be seen as a different machine every time you do it.

Just my stab in the dark
 
I'm not all that familiar with terminal servers, what you're doing seems a bit mad to me and there should be an easier way, but I may also be utterly wrong and this is situation normal.

Could you just script it to give each of the 21 servers a different SID, but every time you redeploy them give them the same 21 SIDs?
The theory being the SIDs are the same so they shouldn't be seen as a different machine every time you do it.

Just my stab in the dark

Possibly is, and i'm open to suggestions!

It's a big improvement on our old physical enviroment - whereby we'd have to re-image the machines every so often when they become bogged down or we need to make a major change, etc.

This way I have a script that deletes all of my terminal servers, a script that runs my scheduled tasks that re-creates the terminal servers, and then a script that creates my NLB clusters. All done in about 20 minutes, and with very little interaction.

It really is only the licensing thing that i've had a problem with. - The SID's referenced in numerous places so I'm not convinced a script to keep them the same is really viable?
 
I've had a bit of a google on this one as it's piqued my curiosity.

For KMS it uses a CMID (Client Machine ID) to uniquely identify PC's. When you sysprep the CMID gets reset so it will try and reactivate.
It strikes me that you need to extract this CMID from each machine, and then script it to keep the same 21 CMID's after a redeploy.

I have no idea if SID=CMID, and my googling hasn't turned up anything yet, but this seems to be a good avenue of investigation.
 
Well I have half the answer:

To identify the CMID:
cscript c:\windows\system32\slmgr.vbs –dli
(This might actually be meant to be: /dli)

To change the CMID to a specific one:
I've no idea, not even sure it's possible.
'sysprep /generalize' will regenerate the CMID, but not to one of your choosing.

As a really crude answer, I would search the registry for the CMID and see what happens, it's worth a punt.
 
The restriction you talk about is activating the KMS - rather than clients activating against the KMS... check your DNS entries for the KMS - just make sure they aren't going to a different server. Also try forcing a manual activation on a client, specifically naming the KMS server you wish to activate against (you will need to look up the documentation for slmgr)
 
Well I have half the answer:

To identify the CMID:
cscript c:\windows\system32\slmgr.vbs –dli
(This might actually be meant to be: /dli)

To change the CMID to a specific one:
I've no idea, not even sure it's possible.
'sysprep /generalize' will regenerate the CMID, but not to one of your choosing.

As a really crude answer, I would search the registry for the CMID and see what happens, it's worth a punt.

Further to that slmgr /dlv should show you a rearm count, try doing a rearm on one and see if it lets you activate, that is, assuming you syspreped correctly in the first place. Or do you run unattended.xml files for quick imaging? as there are various sysprep options in there, make sure you didn't choose anything like "skip rearm" etc in there
 
Back
Top Bottom