Montag, 30. August 2010

KMS Host Client Count not Increasing Due to Duplicate CMID'S

This issue seems to be more prevalent today due to the various tools used to clone images, create images based on a templates, Physical to Physical (P2V) tools, etc...

Generally the symptom you will see is that the count on your KMS host will not show the correct number of clients or it will not increase.There are a number of reasons why this can occur but a common reason is that sysprep was not used when preparing images for deployment.

Any time you use imaging as your deployment method it is required that you run sysprep to prepare the image for deployment.

To determine if you are encountering this you can use the Key Management Service Log do the following:

1. On your KMS host open Event Viewer
2. Right click the Key Management Service Log and choose “Save all events as”
3. Change the Save as type to Text(Tab Delimited)(*.txt)
4. Save the file as KMS.TXT
5. Close out of the Event Viewer completely
6. Open Excel
7. Click File, Open, and browse to KMS.TXT
8. You should see the Text Import Wizard. Choose the following options Delimited Start Import at Row: 8 Delimiters: Comma
9. When complete the data may look all messed up. Don’t worry we will correct that
10. Click the upper left of the spreadsheet to select the entire spreadsheet
11. Click Data, Sort, In the Sort By selection choose “Column D”
12. When complete you should see the data sorted in columns.

The Client Machine ID (CMID) is how we uniquely identify a KMS client.When sysprep is run one of its jobs is to generalize this GUID so when the image is deployed every machine has a unique CMID.Here is an example output

Column C-Computername

Column D-CMID

TEST-03.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

TEST-04.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

TEST-02.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

TEST-01.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

From this output you can see that multiple computernames have the same CMID. Each computer should have a unique CMID. This means that sysprep /generalize was not used to prepare these computers for deployment. So to KMS those 4 machines appear as one. That what be why the count would not be increasing or not reflect the true number of machines deployed.While it is possible to run slmgr.vbs /rearm to reset the machines CMID that does not leave the machine in a supported state. Images deployed without using Sysprep to prepare the image are not supported by Microsoft. Sysprep executes ~30 sysprep providers. These providers are written to correct issues with various components when you duplicate the installation. By not running sysprep it is unknown what types of issues you could encounter and many components will be in a broken state. The supported solution is to rebuild the image using the Sysprep /generalize switch and redeploy the systems.