Microsoft KB Archive/929829

From BetaArchive Wiki
Knowledge Base


The KMS current count does not increase when you add new Windows Vista-based client computers to the network

Article ID: 929829

Article Last Modified on 2/22/2007



APPLIES TO

  • Windows Vista Enterprise
  • Windows Vista Business



SYMPTOMS

When you run the Slmgr.vbs script on a Key Management Server (KMS) computer, you verify that the number of client computers does not increase when you add new Windows Vista-based client computers to the network. Additionally, you may see the following event in the Key Management Service event log for each new Windows Vista-based client computer that you add to the network:


Log Name: Key Management Service
Source: Microsoft-Windows-Security-Licensing-SLC
Event ID: 12290
Level: Information
Description: An activation request has been processed.


When you run the Slmgr.vbs script together with the –dli argument, the client computer count information does not increase as expected. In the following event that is logged in the Key Management Service event log, the current count remains the same:


Name: Windows(TM) Vista, Enterprise edition
Description: Windows Operating System - Vista, VOLUME_KMS channel
Partial Product Key: XXXXX
License Status: Licensed

Key Management Service is enabled on this machine
Current count: 1
Listening on Port: 1688
DNS Publishing: Enabled
KMS priority: Normal


CAUSE

This issue can occur when Windows Vista-based client computers that you add to the network have identical KMS client machine IDs (CMIDs). The current count number increases on a KMS computer when the client computers have different CMIDs. Two or more computers can have the same CMIDs in the either of the following scenarios:

  • The custom Windows Vista image that you use to install the client computer is generated even though you do not run the System Preparation tool (Sysprep.exe) together with the /generalize option.
  • The custom Windows Vista image is generated together with the /generalize option. However, you specify the <SkipRearm> setting in the Unattended.xml file.

To verify that client computers have identical CMIDs, follow these steps:

  1. On one of the Windows Vista-based client computers, click Start, point to Programs, point to Accessories, right-click Command Prompt and then click Run as Administrator.

    [GRAPHIC: User Account Control permission] If you are prompted for an administrator password or for a confirmation, type the password, or click Allow.
  2. At the command prompt, type the following command, and then press ENTER:

    cscript c:\windows\system32\slmgr.vbs –dli

  3. Examine the following results, and note the CMID:

    Name: Windows(TM) Vista, Enterprise edition
    Description: Windows Operating System - Vista, VOLUME_KMSCLIENT channel
    Partial Product Key: XXXXX
    License Status: Licensed
    Volume activation expiration: 250467 minutes (173 days)

    Key Management Service client information
    Client Machine ID (CMID): e5a0da51-8882-4bd7-a248-c1b794a7a671
    KMS machine name from DNS: kms-machine.domain.com:1688
    Activation interval: 120 minute(s)
    Renewal interval: 90 minute(s)

  4. Repeat steps 1 through 4 on a second Windows Vista-based client computer. Verify that the CMID of the second client computer is identical to the CMID of first computer.


RESOLUTION

We recommend that you rebuild the base image that is used to deploy the affected computers as soon as you determine whether they have identical CMIDs.

WORKAROUND

The workaround is valid only if the /generalize option was used in the image that was used to install Windows Vista-based clients. This option is required when you deploy multiple images. To determine whether the /generalize option was used in the image, follow these steps:

  1. On one of the affected computers click Start, and then type C:\Windows\System32\sysprep\Panther\setupact.log.
  2. Examine the "SYSPRP ParseCommands:Found" lines as shown in the following sample log file:

    Info       [0x0f004e] SYSPRP Initialized SysPrep log at C:\Windows\System32\sysprep\Panther
    
    Info       [0x0f0054] SYSPRP ValidateUser:User has required privileges to sysprep machine
    Info       [0x0f0056] SYSPRP ValidateVersion:OS version is okay
    Info       [0x0f005c] SYSPRP ScreenSaver:Successfully disabled screen saver for sysprep
    Info       [0x0f007e] SYSPRP FCreateTagFile:Tag file C:\Windows\System32\sysprep\Sysprep_succeeded.tag does not already exist, no need to delete anything
    Info       [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'UNATTEND'
    Info       [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'OOBE'
    Info       [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'SHUTDOWN'
    Info       [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'GENERALIZE'
  3. If the /generalize option is present, confirm that this option was used on the computer that created the base image.
  4. If the /generalize option was used and you have computers that have identical CMIDs, follow these steps to rearm the affected computers and rebuild the base image. Make sure that you do not use the <SkipRearm> setting is not used:
    1. On one of the Windows Vista-base client computers, click Start, point to Programs, point to Accessories, right-click Command Prompt, and then click Run as Administrator.

      [GRAPHIC: User Account Control permission] If you are prompted for an administrator password or for confirmation, type the password, or click Allow.
    2. At the command prompt, type the following command, and then press ENTER:

      cscript c:\windows\system32\slmgr.vbs –rearm

    3. Restart the computer.
    If the base image was not generated by using Sysprep with the /generalize option, you must rebuild the base image, and then reinstall Windows Vista on the clients. If you use an Unattended.xml file when you rebuild the base image, make sure that the <SkipRearm> setting is not used. For more information about the <SkipRearm> setting, see the Windows Automated Installation Kit (Windows AIK) documentation.


MORE INFORMATION

To reset the activation timer and to set a unique CMID, the Rearm process must run on the destination computer. This process is used to reset the activation state. In Windows Vista, the Rearm process can be run by using one of the following two methods:

  • Run Sysprep together with the /generalize option on the computer that is used to build the Custom Windows Vista image.
  • Force the Rearm process to occur by running the Slmgr.vbs script in an elevated Command Prompt window. For example, type:

    cscript c:\windows\system32\slmgr.vbs –rearm

If the Rearm process did not run because Sysprep was run together with the /generalize option or because you used the <SkipRearm>1</SkipRearm> setting in the Unattended.xml file, client computers may have identical CMIDs. Therefore, the computer count information does not increase as expected. The /generalize option is required when you deploy multiple images. The <SkipRearm> setting should not be used in an unattended file when you deploy computers in a production environment. Therefore, for both cases, we recommend that you rebuild the base image.


Additional query words: same match

Keywords: kbtshoot kbprb KB929829