Click to Rate and Give Feedback
TechNet
TechNet Library
Deployment
Volume Activation
Pilot and Deploy
 Volume Activation Technical Referen...
Windows 7 and Windows Server 2008 R2
Volume Activation Technical Reference Guide

Microsoft Corporation

Published: July 2009

Abstract

This reference guide is for information technology (IT) implementers whose organizations are planning deployments of Volume Activation versions of the Windows® 7 and Windows Server® 2008 R2 operating systems. It is a companion to the Volume Activation Planning Guide, Volume Activation Deployment Guide, and Volume Activation Operations Guide.

Contents

Introduction
User Experience
Slmgr.vbs Options
Registry Settings
Group Policy Object Settings
KMS Activation Timing
KMS Discovery Search Order
Activation Scenarios
KMS Host Keys to Products
Activation Policy Values
KMS Client Setup Keys
Activation Error Codes
Windows Event Log
WMI Properties and Methods
Glossary
Resource Links


Introduction

This guide provides technical reference information for the Volume Activation Planning Guide, the Volume Activation Deployment Guide, and the Volume Activation Operations Guide. For an overview of Microsoft® Volume Activation and its components, see the Volume Activation Planning Guide. This reference contains:

  • User experience

  • Slmgr.vbs options

  • Registry settings

  • Group Policy object (GPO) settings

  • Key Management Service (KMS) activation timing

  • KMS discovery search order

  • Activation scenarios

  • KMS host keys to products

  • Activation policy values

  • KMS client setup keys

  • Activation error codes

  • Windows® event log

  • Windows Management Instrumentation (WMI) properties and methods

  • Glossary

  • Resources

Note   For support of other software using Volume Activation, refer to the documents specifically written for those applications.

This guide uses the following conventions:

  • Command lines and command-line options appear in bold.

  • Placeholders in command-line options have angled brackets (<>) around them.

  • Optional command-line options have square brackets ([]) around them.

  • Registry subkey and value names appear in bold.

User Experience

Windows® 7 and Windows Server® 2008 R2 display notifications and dialog boxes tailored to specific activation issues. Table 1 describes how these notifications and dialog boxes correspond to each issue.

Note   Windows Server 2008 core editions do not provide the notifications user experience.

Table 1. Balloons and Dialog Boxes for the Notifications State

Issue

Notification balloon

Corresponding dialog box

A newly installed copy of Windows has not been activated by the end of the activation grace period.

 

GR7019.gif

 

GR7023.jpg

A previously activated copy of Windows detects computer hardware or basic input/output system (BIOS) changes requiring reactivation of Windows. Also, an activated KMS client does not reactivate itself within 180 days.

 

GR7024.gif

 

37-HW OOT.jpg

Windows was been activated using KMS and has not renewed its activation within 180 days plus a 30-day grace period.

 

GR7026.gif

 

37-KMS OOT.jpg

Online validation fails or an activation exploit is detected that enables un-authorized copies of Windows to bypass product activation.

 

GR7028.gif

 

37-NG.jpg

Windows detects that a Windows licensing component has been changed.

 

GR7030.gif

 

37 - No Key.jpg

Windows detects that its licensing files have been changed.

 

GR7021.gif

 

37 - Reinstall.jpg


Slmgr.vbs Options

Because of WMI changes in Windows 7 and Windows Server 2008 R2, the Slmgr.vbs script is not intended to work across platforms. Using Slmgr.vbs to manage a Windows 7 or Windows Server 2008 R2 system from the Windows Vista® operating system is not supported. Attempting to manage a down-level system from Windows 7 or Windows Server 2008 R2 will generate a specific version mismatch error. For example, running cscript slmgr.vbs <vista_machine_name> /dlv produces the following output:

Copy Code
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
 

The remote machine does not support this version of SLMgr.vbs

To manage remote clients, use the Volume Activation Management Tool (VAMT) version 1.2 or later, or create custom WMI scripts that are aware of the differences between platforms. For more information about WMI properties and methods for Volume Activation, see the section, “WMI Properties and Methods,” later in this reference guide.

The following describes the syntax of the Slmgr.vbs script, and Table 2 describes each command-line option:

Copy Code
slmgr.vbs [MachineName [User Password]] [<Option>]

Note   For support of other software using Volume Activation, see the documents specifically written for those applications.

Table 2. Slmgr.vbs Command-line Options

Option

Description

[MachineName]

Name of a remote machine (default is local machine)

[User]

Account with the required privilege on the remote machine

[Password]

Password for the account with required privileges on the remote machine

Global options

/ipk product_key

Attempts to install a 5×5 product key. The product key provided by the parameter is confirmed valid and applicable to the installed operating system. If not, an error is returned.

If the key is valid and applicable, the key is installed. If a key is already installed, it is silently replaced.

To prevent instability in the license service, the system should be restarted or the Software Protection Service should be restarted.

This operation must be run from an elevated command prompt, or the Standard User Operations registry value must be set to allow unprivileged users extra access to the Software Protection Service.

/ato [Activation ID]

For retail editions and volume systems with a KMS host key or a Multiple Activation Key (MAK) installed, /ato prompts Windows to attempt online activation.

For systems with a Generic Volume License Key (GVLK) installed, this prompts an attempt at KMS activation. Systems that have been set to suspend automatic KMS activation attempts (/stao) still attempt KMS activation when /ato is run.

The parameter [Activation ID] expands /ato support to identify a Windows edition installed on the computer. Specifying the [Activation ID] parameter isolates the effects of the option to the edition associated with that Activation ID. Run Slmgr.vbs /dlv all to get the Activation IDs for the installed version of Windows. If you need to support other applications, see the guidance provided by that application for further instruction.

KMS activation does not require elevated privileges. However, online activation does require elevation, or the Standard User Operations registry value must be set to allow unprivileged users extra access to the Software Protection Service.

/dli [Activation ID | All]

Display license information.

By default, /dli displays the license information for the installed active Windows edition. Specifying the [Activation ID] parameter displays the license information for the specified edition associated with that Activation ID. Specifying the [All] as the parameter will display all applicable installed products’ license information.

This operation does not require elevated privileges.

/dlv [Activation ID | All]

Display detailed license information.

By default, /dlv displays the license information for the installed operating system. Specifying the [Activation ID] parameter displays the license information for the specified edition associated with that Activation ID. Specifying the [All] parameter displays all applicable installed products’ license information.

This operation does not require elevated privileges.

/xpr [Activation ID]

Display the activation expiration date for the product. By default, this refers to the current Windows edition and is primarily useful for KMS clients, because MAK and retail activation is perpetual.

Specifying the [Activation ID] parameter displays the activation expiration date of the specified edition associated with that Activation ID.

This operation does not require elevated privileges.

Advanced options

/cpky

Some servicing operations require the product key to be available in the registry during Out-of-Box Experience (OOBE) operations. The /cpky option removes the product key from the registry to prevent this key from being stolen by malicious code.

For retail installations that deploy keys, best practices recommend running this option. This option is not required for MAK and KMS host keys, because this is the default behavior for those keys. This option is only needed for other types of keys where the default behavior is not to clear the key from the registry.

This operation must be run from an elevated command prompt.

/ilc <license_file>

This option installs the license file specified by the required parameter. These licenses may be installed as a troubleshooting measure, to support token-based activation, or as part of a manual installation of an on-boarded application.

Licenses are not validated during this process: License validation is out of scope for Slmgr. Instead, validation is handled by the Software Protection Service at runtime.

This operation must be run from an elevated command prompt, or the Standard User Operations registry value must be set to allow unprivileged users extra access to the Software Protection Service.

/rilc

This option reinstalls all licenses stored in %SystemRoot%\system32\oem and %SystemRoot%\System32\spp\tokens. These are “known-good” copies stored during installation.

Any matching licenses in the Trusted Store are replaced. Any additional licenses—for example, Trusted Authority (TA) Issuance Licenses (ILs), licenses for applications—are not touched.

This operation must be run from an elevated command prompt, or the Standard User Operations registry value must be set to allow unprivileged users extra access to the Software Protection Service.

/rearm

This option resets the activation timers. The /rearm process is also called by sysprep /generalize.

This operation will do nothing if the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm registry subkey is equal to 1. See the section “Registry Settings,” later in this guide, for details on this registry subkey.

This operation must be run from an elevated command prompt, or the Standard User Operations registry value must be set to allow unprivileged users extra access to the Software Protection Service.

/upk [ActivationID]

This option uninstalls the product key of the current Windows edition. After a restart, the system will be in an Unlicensed state unless a new product key is installed.

Optionally, you can use the [Activation ID] parameter to specify a different installed product.

This operation must be run from an elevated command prompt.

Volume Licensing: KMS client options

/skms Name[:Port] | : port [Activation ID] [Activation ID]

This option specifies the name and, optionally, the port of the KMS host computer to contact. Setting this value disables auto-detection of the KMS host.

If the KMS host uses Internet Protocol version 6 (IPv6) only, the address must be specified in the format [hostname]:port. IPv6 addresses contain colons (:), which will be misparsed by the Slmgr.vbs script.

This operation must be run from an elevated command prompt.

/ckms [Activation ID]

This option removes the specified KMS host name, address, and port information from the registry and restores KMS auto-discovery behavior.

This operation must be run from an elevated command prompt.

/skhc

This option enables KMS host caching (default), which blocks the use of Domain Name System (DNS) priority and weight after the initial discovery of a working KMS host. If the system can no longer contact the working KMS host, discovery will be attempted again.

This operation must be run from an elevated command prompt.

/ckhc

This option disables KMS host caching. This setting instructs the client to use DNS auto-discovery each time it attempts KMS activation (recommended when using priority and weight).

This operation must be run from an elevated command prompt.

KMS host configuration

/sai <interval>

This option sets the interval in minutes for unactivated clients to attempt KMS connection. The activation interval must be between 15 minutes and 30 days, although the default (2 hours) is recommended.

The KMS client initially picks up this interval from registry but switches to the KMS setting after it receives the first KMS response.

This operation must be run from an elevated command prompt.

/sri <interval>

This option sets the renewal interval in minutes for activated clients to attempt KMS connection. The renewal interval must be between 15 minutes and 30 days. This option is set initially on both the KMS server and client sides. The default is 10080 minutes (7 days).

The KMS client initially picks up this interval from the registry but switches to the KMS setting after it receives the first KMS response.

This operation must be run from an elevated command prompt.

/sprt <port>

This option sets the port on which the KMS host listens for client activation requests. The default TCP port is 1688.

This operation must be run from an elevated command prompt.

/sdns

Enable DNS publishing by the KMS host (default).

This operation must be run from an elevated command prompt.

/cdns

Disable DNS publishing by the KMS host.

This operation must be run from an elevated command prompt.

/spri

Set the KMS priority to normal (default).

This operation must be run from an elevated command prompt.

/cpri

Set the KMS priority to low.

Use this option to minimize contention from KMS in a co-hosted environment. Note that this could lead to KMS starvation, depending on what other applications or server roles are active. Use with care.

This operation must be run from an elevated command prompt.

Token-based activation configuration

/lil

List the installed token-based activation issuance licenses.

/ril <ILID> <ILvID>

Remove an installed token-based activation issuance license.

This operation must be run from an elevated command prompt.

/stao

Set the Token-based Activation Only flag, disabling automatic KMS activation.

This operation must be run from an elevated command prompt.

/ctao

Clear the Token-based Activation Only flag (default), enabling automatic KMS activation.

This operation must be run from an elevated command prompt.

/ltc

List valid token-based activation certificates that can activate installed software.

/fta <Certificate Thumbprint> [PIN]

Force token-based activation using the identified certificate. The optional personal identification number (PIN) is provided to unlock the private key without a PIN prompt when using certificates that are protected by hardware (for example, smart cards).


Registry Settings

Table 3 describes the registry settings that Volume Activation supports.

Table 3. Registry Settings

Registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
ValueTypeDescriptionScope
Activation\AlternateURL REG_SZ

Optionally contains an administrator-provided URL. If this key is populated, some activation dialog boxes will include a new link—Learn more about activation online—that opens in the default browser.

All

DisableDnsPublishing

REG_DWORD

Set this to a non-zero value to block auto-publishing to DNS by the KMS host.

KMS

DnsDomainPublishList

REG_MULTI_SZ

Format: domain_name, <priority>, <weight>

Optionally contains a list of fully qualified domains that KMS uses to auto-publish its DNS service (SRV) record. The KMS home domain is always used, so it is not necessary to include it here. This depends on the DisableDnsPublishing value.

The priority and weight parameters are optional. If not supplied, these are set to 0 in the SRV record.

KMS

EnableKmsLowPriority

REG_DWORD

Set this to a non-zero value to minimize contention from KMS in a co-hosted environment. Note that on a busy system, this can prevent the KMS host from maintaining a sufficient count.

KMS

KeyManagementServiceListeningPort

REG_SZ

Set this on the KMS host to force KMS to listen on the TCP port specified. The host uses TCP port 1688 if this value is not specified.

KMS

KeyManagementServiceName

REG_SZ

Set this value to force the use of a specific KMS host by the KMS client. No default.

If an App-ID or SKU-ID is specified, this is created in a subkey under which the value is stored:

..\SoftwareProtectionPlatform\APPID_GUID\KeyManagementServiceName

KMS client

KeyManagementServicePort

REG_SZ

Set this to force the use of a specific TCP port by the KMS client when it communicates with a KMS. The client uses port 1688 if this value is not specified.

If an App-ID or SKU-ID is specified, this is created in a subkey under which the value is stored:

..\SoftwareProtectionPlatform\APPID_GUID\KeyManagementServicePort

KMS client

KeyManagementServiceVersion

REG_SZ

Set this for Microsoft Operations Manager (MOM) 2005 automatic discovery of the KMS. Delete this value if the KMS is no longer functional on the machine.

KMS

UserOperations

REG_DWORD

This value does not exist by default, and the default is 0, which requires elevation. Create this value and set it to 1 to enable standard users to install product keys and activate and rearm machines without requiring elevation.

This setting can also be configured by GPOs, which are stored under the \policies registry subkey.

All (not just KMS)

VLActivationInterval

REG_DWORD

This is set initially on both KMS server and client sides. The default is 120 minutes (2 hours). The KMS client initially picks up this interval from the registry but switches to the KMS setting after it receives the first KMS response. The minimum value is 15 minutes, and the maximum is 43,200 minutes (30 days).

KMS Client and Server

VLRenewalInterval

REG_DWORD

This is set initially on both KMS server and client sides. The default is 10,080 minutes (7 days). The KMS client initially picks up this interval from the registry but switches to the KMS setting after it receives the first KMS response. As a result, the client-side setting will never be used. The minimum value is 15 minutes, and the maximum is 43,200 minutes (30 days).

KMS Client and Server

Registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation

Value

Type

Description

Scope

Manual

REG_DWORD

0 = Allow automatic online activation (default)

1 = Disable auto-activation

MAK and KMS host but not KMS client

NotificationDisabled

REG_DWORD

0 = Activation notices and balloons will be shown (default)

1 = All activation-related notices will be hidden if Windows is not in a Notification or Unlicensed state. Not recommended.

All (not just KMS)


Group Policy Object Settings

Table 4 describes Group Policy settings that organizations can use to prevent the operating system from changing the desktop to black in the Notifications state.

Table 4. Group Policy Object Settings

Policy name

Description

User Configuration -> Administrative Templates -> Control Panel -> Personalization -> Prevent changing desktop background

Prevents users from adding or changing the background design of the desktop.

By default, users can use the Desktop Background page in the Personalization or Display Control Panel item to add a background design (wallpaper) to their desktops.

If you enable this setting, the user cannot change any of the Desktop Background settings.

To specify wallpaper for a group, use the Desktop Wallpaper setting.

Note   You must also enable the Desktop Wallpaper setting to prevent users from changing the desktop wallpaper. Refer to the Microsoft Help and Support article, “You can change the desktop wallpaper setting after administrator selects ‘Prevent Changing Wallpaper’ option in Group Policy,” at http://support.microsoft.com/kb/Q327998 for more information.

Also, see the Allow only bitmapped wallpaper setting.

User Configuration -> Administrative Templates -> Desktop -> Desktop -> Desktop Wallpaper

Specifies the desktop background ("wallpaper") displayed on all users’ desktops.

This setting lets you specify the wallpaper on users’ desktops and prevents users from changing the image or its presentation. The wallpaper you specify can be stored in a bitmap (*.bmp) or JPEG (*.jpg) file.

To use this setting, type the fully qualified path and name of the file that stores the wallpaper image. You can type a local path, such as C:\Windows\web\wallpaper\home.jpg, or a Universal Naming Convention (UNC) path, such as \\Server\Share\Corp.jpg. If the specified file is not available when the user logs on, no wallpaper is displayed. Users cannot specify alternative wallpaper. You can also use this setting to specify that the wallpaper image be centered, tiled, or stretched. Users cannot change this specification.

If you disable this setting or do not configure it, no wallpaper is displayed. However, users can select the wallpaper of their choice.

Also, see the Allow only bitmapped wallpaper setting in the same location and the Prevent changing wallpaper setting in User Configuration\Administrative Templates\Control Panel.

Note   This setting does not apply to remote desktop server sessions.

User Configuration -> Administrative Templates -> Control Panel -> Personalization -> Prevent changing desktop icons

Prevents users from changing the desktop icons.

By default, users can use the Desktop Icon Settings dialog box in the Personalization or Display Control Panel item to show, hide, or change the desktop icons.

If you enable this setting, the user cannot change any of the desktop icons.

For operating systems prior to Windows Vista, this setting also hides the Desktop tab in the Display Control Panel item.


KMS Activation Timing

KMS activation timing is controlled by two settings: the Activation and Renewal timers:

  • The KMS Activation Interval determines how often the KMS client attempts activation before it is activated and during Grace and Notifications. This value is set on the client by running slmgr.vbs /sai interval. The interval is stated in minutes, and 120 minutes is the default. See the sections “Slmgr.vbs Options” and “Registry Settings” for more information. Once a system contacts a KMS host, the KMS host setting will override the local client setting.

  • The KMS Renewal Interval determines how often the KMS client attempts reactivation with KMS, once it has been activated. This value can be set using slmgr /sri interval. The interval is set in minutes. The default value is 10,080 minutes (7 days). This value can be set on the client but will be overridden by the value that the KMS host provides.

In operation, the KMS client attempts to contact a KMS host on startup and again every Activation Interval minutes upon failure. By default, this happens every two hours. When KMS activation succeeds, the client receives and stores the KMS host’s Renewal Interval, and Windows activates for 180 days. Activation renewal operates as a sliding window, similar to a Dynamic Host Configuration Protocol (DHCP) lease. The client is activated for 180 days but still attempts reactivation every Renewal Interval minutes—by default, 7 days. If it succeeds, the 180-day period is reset. If it fails, the system will watch for network changes or other qualifying events to trigger another attempt. After 15 minutes, the system stops monitoring for qualifying events but still attempts every Activation Interval minutes.

If 180 days passes without successful reactivation, the client transitions into Out of Tolerance (OOT) Grace. If it does not activate within 30 days of transitioning to OOT, it falls into Notification mode.

KMS Discovery Search Order

When KMS auto-discovery is enabled (default) and KMS host caching is not disabled, KMS clients will use the following order to determine which KMS to use (they will try each step until an activated KMS host with the correct key responds):

  • SKU-specific value in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\AppID\SKUID\KeyManagementServiceName REG_SZ registry value

  • AppID-specific value in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\AppID\KeyManagementServiceName REG_SZ registry value

  • Global value in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\KeyManagementServiceName REG_SZ registry value

  • SKU-specific cached KMS host (This is the cached identity of the host used in the last successful KMS activation.)

  • DNS auto-discovery (weight and priority honored)

If a cached KMS does not respond, discovery is performed.

Activation Scenarios

The following sections describe key scenarios for KMS and MAK activation.

KMS Scenarios

KMS can support simple, single-site networks and global networks. The following scenarios show:

  • The default implementation of KMS.

  • The implementation expanded to support a global network.

Default KMS Implementation for a Single-site Network

Contoso has 100 Windows 7 Enterprise clients and a mixed set of Windows Vista, Windows Server 2008, and Windows Server 2008 R2 systems. Contoso is a flat domain (Contoso.com), as shown in Figure 1. The DNS server runs Microsoft DNS in its default configuration. This configuration supports Dynamic DNS registration and DNS record scavenging to remove stale records.

GR7015.gif

Figure 1. Default KMS implementation for a single-site network

Contoso purchases a license agreement that provides a KMS B key, which will activate all of its systems. The information technology (IT) administrator installs Contoso’s KMS host key (CSVLK) on two KMS hosts running Windows Server 2008 R2 by using the following command run locally at an elevated command prompt:

Copy Code
Slmgr.vbs /ipk <KMS_host_key>

The IT administrator then creates a Security Group in Active Directory® Domain Services (AD DS) named KMS_Hosts. The administrator adds the servers KMS_1 and KMS_2 to the KMS_Hosts membership.

The host KMS_1 is activated against Microsoft via the Internet: Slmgr.vbs /ato. KMS_1 automatically publishes its SRV resource records (RRs) to DNS. The IT administrator accesses the DNS server, locates the RR for _vlmcs._tcp.contoso.com, and changes its permissions to give KMS_Hosts Read, Write, and Delete permission to the record. The host KMS_2 is now activated against Microsoft via the Internet: Slmgr.vbs /ato.

Finally, the administrator confirms that the KMS host exclusion is enabled in Windows Firewall. The Key Management Service firewall exception needs to be enabled.

KMS clients on the Contoso network query DNS and receive the SRV records for both KMS hosts. The clients pick one or the other host and are activated (as soon as the KMS count rises above the threshold). See the section, “Activation Policy Values,” for more information about KMS count requirements.

KMS Implementation in a Complex, Global Network

Contoso has expanded into two domains, east.contoso.com and west.contoso.com, as shown in Figure 2. Network traffic can pass privately between the two networks through a firewalled wide area network (WAN) link. This link has limited bandwidth, so resources (including DNS) are replicated on both sides of the WAN link to reduce traffic when possible.

GR7016.gif

Figure 2. KMS implementation in a complex, global network

Contoso uses image-based deployment. Its client systems are standardized on Windows Vista, but the Windows Vista systems are being replaced by Windows 7 clients.

Users regularly travel geographically, and their network connection changes from one domain to the other. Clients’ IP addressing is provided dynamically by DHCP, including specifying the local DNS host, local gateway address, and so on.

To provide activation support for the existing Windows Vista clients and the new Windows 7 clients, Contoso installs four KMS hosts (using its KMS B key). Two KMS hosts are configured in east.contoso.com, and two are configured in west.contoso.com.

The IT administrator configures the KMS hosts so that the DNS SRV records drive Windows 7 and Windows Server 2008 R2 clients in the east domain to KMS_E1, if available, or to KMS_E2. If neither is available, the clients will attempt KMS_W1 and, finally, KMS_W2. Likewise, DNS in the west domain is configured so that Windows 7 clients in the west domain will prefer contacting KMS_W1, then KMS_W2 and only when these fail will attempt activation with KMS_E1 and KMS_E2 on the far side of the WAN link.

The IT administrator accomplishes this by making the following configuration changes (see Table 5):

  • KMS_E* hosts are added to the security group KMS_E. This group is given Read, Write, and Delete rights to the record _vlmcs._tcp.east.contoso.com.

  • KMS_W* hosts are added to the security group KMS_W. This group is given Read, Write, and Delete rights to the record _vlmcs._tcp.west.contoso.com.

  • DHCP servers are configured to add east.contoso.com and west.contoso.com to the DNS suffix search list for all clients.

  • Firewalls between east and west domains are configured to allow RPC traffic to the KMS hosts on port 1688.

Table 5. KMS Host Configuration

Description

Configuration

Host

Configure east.contoso.com SRV priority and weight so that clients will contact KMS_E* hosts if available before trying KMS_W* hosts. Traffic will be divided: 75% to the KMS_*1 hosts and 25% to the KMS_*2 hosts.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform DnsDomainPublishList=

KMS_E1, 10, 75

KMS_E2, 10, 25

KMS_W1, 90, 75

KMS_W2, 90, 25

KMS_E1

KMS_E2

Configure west.contoso.com SRV priority and weight so that clients will contact KMS_W* hosts if available before trying KMS_E* hosts. Traffic will be divided: 75% to the KMS_*1 hosts and 25% to the KMS_*2 hosts.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform DnsDomainPublishList=

KMS_W1, 10, 75

KMS_W2, 10, 25

KMS_E1, 90, 75

KMS_E2, 90, 25

KMS_W1

KMS_W2


Then, the administrator confirms that the Windows Firewall exceptions are set to allow KMS client traffic and configures client computers, as Table 6 describes.

Table 6. KMS Client Configuration

Description

Configuration

Disable KMS host caching

Slmgr /ckhc

A customer URL is set to direct users with activation issues to the Contoso help desk

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation

AlternateURL = http://contoso.com/help


The client reference computer is KMS activated, then sysprep /generalize is run. The system is shut down and imaged using ImageX from the Windows 7 Windows Automated Installation Kit (Windows AIK). The Windows AIK is available to download at http://go.microsoft.com/fwlink/?LinkId=136976.

MAK Scenarios

The following sections describe scenarios for MAK activation, which are based on the scenario shown in Figure 3. This figure shows network and workgroup environments that are typical within large enterprises.

Deployment Scenario

Figure 3. Enterprise environments

In the Core Network environment, all computers are within a common network managed by AD DS. The Secure Zone represents higher-security Core Network computers that have addition firewall protection.

The Isolated Lab environment is a workgroup that is physically separate from the Core Network, and its computers do not have Internet access. The network security policy states that no information that could identify a specific computer or user may be transferred out of the Isolated Lab.

MAK Independent Activation

The VAMT allows automation of MAK deployment and activation over the network by distributing MAKs from a centralized console, as Figure 2 shows. VAMT queries Microsoft activation servers to get the number of remaining activations for a given MAK, then lists the activation status of all MAK-activated systems in the environment. This count is a snapshot in time, not a real-time count. VAMT version 1.2 is included in the Windows AIK.

In this scenario, the VAMT is deployed in the Core Network environment shown in Figure 3. The VAMT is installed on a central computer with network access to all client computers. Both the VAMT host and client computers have Internet access. The following instructions describe how to perform independent activation:

  1. Install and launch the VAMT on a networked host computer:
    1. Install the Windows AIK on the host computer.
    2. Click Start, and then click VAMT to open the VAMT console.
  2. Configure the Windows Management Instrumentation (WMI) firewall exception on target computers. Ensure that the WMI firewall exception has been enabled for all target computers, as shown in Figure 4.

    GR7018.jpg

    Figure 4. Windows Management Instrumentation (WMI) exception

  3. Add computers to the computer information list (CIL):
    1. On the VAMT console, click Action, and then click Add Computers to display the Add Computers dialog box.
    2. Enter a Computer Group name such as Core Network Group to identify the group of computers you are activating.
    3. Click the drop-down list to select a search option. You can search for computers in a workgroup, in an AD DS domain, or by individual computer name or IP address.
    4. If you are searching by individual computer name or IP address, enter that information in the text box below the drop-down list.
    5. If you are searching a domain or a workgroup, select the domain or workgroup from the additional drop-down list displayed for those options. Use the Filter by computer name field to search for a specific computer within the domain or workgroup.
    6. Click OK.

      The VAMT queries Active Directory Directory Services (AD DS) via Lightweight Directory Access Protocol (LDAP) and adds the computers it finds to the CIL.

  4. Collect status information from the discovered computers:
    1. For the VAMT to perform an action on a computer, it must have current license status data for that computer. Collect status from individual computers by directly selecting one or more computers in the computer list view pane. To perform operations for an entire group, in the tree view pane, select the Status Unknown node or the User Defined Groups\Core Network Group node.
    2. Right-click the group or the desired computers, and then click Refresh Computer Status.
    3. If you are activating computers that require administrator credentials different from the ones you are currently using, select Use Alternate Credentials.
    4. Click OK.
    5. Provide a Domain Administrator account (to collect status from all computers in the domain) and password when prompted.

      The VAMT displays the Collecting computer information dialog box while it collects the status of all selected computers. When the process is finished, the refreshed status of each computer appears in the computer list view pane of the VAMT console.

      Note   To retrieve the licensing status on the selected computers, the VAMT must have administrative permissions on the remote computers, and WMI must be accessible through Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information about configuring systems for VAMT remote management, see the VAMT help.

  5. Add a MAK, and determine its remaining activation count:

    1. Click Options, and then click Manage MAKs to open the Manage MAK Keys dialog box.

    2. Click Add to enter a MAK.

    3. Enter the MAK, and then click Validate.

      Once validated, the Edition field is automatically populated.

    4. Provide a meaningful description, and then click Add.

      The MAK is now listed in the Manage MAK Keys dialog box.

    5. Click Refresh remaining count to retrieve the number of remaining activations for the listed MAKs from Microsoft. (This step requires Internet connectivity.)

    6. Click Exit to close the dialog box.

  6. Install the MAK, and activate the client computers:

    1. Select the computers to be activated, either by clicking a group in the tree view pane or by selecting individual computers in the list view pane.

    2. Right-click the selected group or computers, and then click MAK Independent Activate to display the MAK Independent Activate dialog box.

    3. Select the appropriate MAK from the Install MAK list.

    4. Select the Install MAK (overwrite existing) and Activate Now check boxes to instruct the selected computers to activate immediately by contacting Microsoft Windows Activation over the Internet.

      If an asterisk (*) appears next to the text for these check boxes, the action will apply only to applicable computers. For example, a computer installed with a Windows Vista retail edition cannot be activated using a MAK.

    5. If you are activating computers that require administrator credentials different from the those you are currently using, select Use Alternate Credentials.

    6. Click OK.

      VAMT displays the Assigning Product Keys dialog box, and then displays the Activating Computers dialog box until it completes the requested action. If you selected Use Alternate Credentials, you will be prompted to enter the credentials prior to these dialog boxes.

MAK Proxy Activation

In this scenario, the VAMT is used to activate workgroup computers within the Isolated Lab environment shown in Figure 3. For workgroups such as this, which are completely isolated from the larger network, you can perform MAK proxy activation by installing a second VAMT on a computer within the isolated workgroup and using removable media to transfer VAMT CILs between that computer and another VAMT host that has Internet access. For more information about configuring systems for VAMT remote management, see the VAMT help. The following steps describe how to use the VAMT tool for proxy activation:

  1. Install a VAMT on a workgroup computer in the Isolated Lab:

    1. Install the Windows AIK on a host computer in the Isolated Lab workgroup.

      This computer can be running Windows XP with Service Pack 2 (SP2), Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008, or Windows Server 2008 R2.

    2. Click Start, and then click VAMT to open the VAMT console.

    3. Configure the Windows Management Instrumentation (WMI) firewall exception on target computers. Ensure that the WMI firewall exception has been enabled for all target computers.

  2. Add computers to the CIL:

    1. On the VAMT console, click Action, and then click Add Computers to open the Add Computers dialog box.

    2. Enter a Group name such as Isolated Lab Group to identify the group of computers you are activating.

    3. Select the Workgroup option, and specify the name of the workgroup, and then click OK.

      The VAMT searches the workgroup for computers.

      Note   For the VAMT to discover client computers in a workgroup, the network discovery Windows Firewall exception must be enabled.

  3. Collect status from the discovered computers:

    1. For the VAMT to perform an action on a computer, it must have current license status data for that computer. Collect status from individual computers by directly selecting one or more computers in the computer list view pane. To perform operations for an entire group, in the left pane, select the Status Unknown node or the User Defined Groups\Isolated Lab Group node.

    2. Right-click the group or the desired computers, and then click Refresh Computer Status.

    3. If you are activating computers that require administrator credentials different from the those you are currently using, select Use Alternate Credentials.

    4. Click OK. When prompted, provide the credentials for an account that has local administrative rights on the selected workgroup computers.

      The VAMT displays the Collecting computer information dialog box while it collects the status of all selected computers. When the process is finished, the refreshed status of each computer appears in the computer list view pane of the VAMT console.

      Note   To retrieve the licensing status on the selected computers, the VAMT must have administrative permissions on the remote computers, and WMI must be accessible through Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under UAC.

  4. Add a MAK:

    1. Click Options, and then click Manage MAKs to open the Manage MAK Keys dialog box.

    2. Click Add to enter a MAK.

    3. Enter the MAK, and then click Validate.

      Once validated, the Edition field is automatically populated.

    4. Provide a meaningful description, and then click Add.

      The MAK is now be listed in the Manage MAK Keys dialog box.

    5. Click Exit to close the dialog box.

      Note   Because the VAMT is not installed on a computer with Internet access, the Refresh Remaining Count option will not operate. This feature requires Internet access.

  5. Install the MAK on the Isolated Lab computers:

    1. Select the Isolated Lab group in the tree view pane.

    2. Right-click the selected group, and then click MAK Proxy Activate to display the MAK Proxy Activate dialog box.

    3. Select the appropriate MAK from the Install MAK list.

    4. Select Install MAK (overwrite existing).

      If an asterisk (*) appears next to the text for this checkbox, the action will apply only to applicable computers. For example, a computer installed with a Windows Vista retail edition cannot be activated using a MAK.

    5. Clear the Get Confirmation ID from Microsoft check box, because this computer does not have Internet access.

    6. Clear the Apply Confirmation ID and Activate check box, because confirmation IDs (CIDs) have not yet been requested.

    7. If you are activating computers that require administrator credentials different from the those you are currently using, select Use Alternate Credentials, and then click OK.

      VAMT displays the Assigning Product Keys dialog box until it completes the requested action. If you selected Use Alternate Credentials, you will be prompted to enter the credentials prior to this dialog box.

      Note   Selecting the Install MAK (overwrite existing) check box force-installs a MAK on a client computer. This must be done with care. If the pre-SP1 version of Windows Vista has been installed on the computer for more than 30 days, then its Initial Grace period has expired, and the computer will enter Reduced Functionality Mode (RFM) if activation is not completed successfully before the next logon. However, you can use MAK proxy activation to recover properly configured computers from RFM as long as the computers are accessible to the VAMT host. RFM only applies to the pre-SP1 version of Windows Vista. Windows Vista with SP1 or later, Windows 7, Windows Server 2008, or Windows Server 2008 R2 will not enter RFM.

  6. Save the CIL:

    In this step, the full CIL is saved on the local (that is, workgroup) VAMT host. In MAK proxy activation, it is critical to retain this file, because the VAMT uses it to apply the CIDs to the proper computers.

    1. Using the VAMT tree view or list view pane, select the group or the individual computers that successfully received a MAK.

    2. From the File menu, click Save to display the Save the Computer Information List dialog box.

    3. Select a directory, and then enter a CIL file name such as IsolatedLabGroup.CIL.

    4. Click Save.

  7. Export the CIL:

    As stated previously, the enterprise’s security policy states that no information that could identify a specific computer or user may be transferred out of the Isolated Lab. Therefore, this type of data must be excluded from the CIL file to be transferred to the Core Network VAMT host.

    1. Using the VAMT tree view or list view pane, select the group or the individual computers that successfully received a MAK.

    2. Right-click the selected group or computers, and then click Export Computers to display the Save the Computer Information List dialog box.

    3. Select Exclude any sensitive environment data.

    4. Click Browse to display the Save As dialog box.

    5. Select a directory, and then enter a CIL file name such as IsolatedLabGroupSecureExport.CIL.

    6. Click Save.

    7. Copy the IsolatedLabGroupSecureExport.CIL file to removable media (disk drive, CD/DVD, or USB flash drive [UFD]).

      Note   Selecting the Exclude any sensitive environment data check box excludes Personally Identifiable Information (PII) from being saved in the CIL. As a result, the CIL must be re-imported in this VAMT host and into the full-save CIL file so that the CIDs requested from Microsoft can be correctly assigned to the computers in the Isolated Lab group.

  8. Import the CIL on a VAMT host with Internet access:

    1. Copy IsolatedLabGroupSecureExport.CIL from the removable media to a drive on a VAMT host that has Internet access.

    2. Open the VAMT console.

    3. From the File menu, click Import to open the Open Computer Information List dialog box.

    4. Locate and select IsolatedLabGroupSecureExport.CIL and then click Open to load the CIL into the VAMT.

    5. Confirm that the computer, group, and workgroup names are not visible.
  9. Request CIDs from Microsoft:

    1. Right-click the imported computers, and then click MAK Proxy Activate to open the MAK Proxy Activate dialog box.

    2. Clear the Install MAK (overwrite existing) check box.

    3. Clear the Get Confirmation ID from Microsoft check box.

    4. Clear the Apply Confirmation ID and Activate check box, because this VAMT host is not on the same network as the selected computers.

    5. Click OK.

      The VAMT displays the Acquiring Confirmation ID online dialog box while it contacts Microsoft and collects the CIDs.

  10. Export the CIL from the Internet-connected VAMT host:

    1. After the CIDs have been retrieved for all computers, save the CIL file. In the VAMT console, scroll to the right and confirm that the PendingCID column has values.

    2. From the File menu, click Save As, and provide a new name for the file, such as IsolatedLabGroupSecureExportwithCID.CIL.

    3. Copy the updated file IsolatedLabGroupSecureExportwithCID.CIL to removable media (disk drive, CD/DVD, or UFD).

  11. Import the CIL on the original VAMT host within the Isolated Lab:

    1. Copy IsolatedLabGroupSecureExportwithCID.CIL from the removable media onto a drive on the VAMT host in the Isolated Lab.

    2. Open the VAMT console.

    3. From the File menu, click Open to display the Open Computer Information List dialog box.

    4. Locate and select IsolatedLabGroup.CIL, and then click Open to load the CIL into the VAMT.

      This displays the previously discovered computers and their license states in the computer list view pane.

    5. From the File menu, click Import and browse to the file that contains the CIDs (IsolatedLabGroupSecureExportwithCID.CIL).

      This starts the merge process that matches the CIDs to the computers’ IIDs.

    6. From the File menu, click Save, and then enter a file name such as IsolatedLabGroupwithCID.CIL to save this file that associates the IIDs with the corresponding CIDs.

      Important   Saving this file is critical for reimaging scenarios. It is strongly recommended that you back up this file and protect it from being overwritten.

  12. Apply the CIDs, and activate the Isolated Lab computers:

    1. Right-click the Isolated Lab group in the tree view pane, and then click MAK Proxy Activate to open the MAK Proxy Activate dialog box.

    2. Clear the Install MAK (overwrite existing) check box, because the selected computers already have a MAK installed.

    3. Clear the Get Confirmation ID from Microsoft check box.

    4. Select the Apply Confirmation ID and Activate check box to instruct the VAMT to activate the selected computers by installing their CIDs.

    5. Click OK.

      The VAMT displays the Assigning Confirmation IDs dialog box while it installs the CIDs on the selected computers.

  13. Optionally, reactivate reimaged computers in the Isolated Lab:

    If the computers in the Isolated Lab have been reimaged but the underlying hardware has not changed, the VAMT can reactivate them using the IsolatedLabGroupwithCID.CIL file.

    1. Redeploy Windows to each computer using the same computer names as before.

    2. Open the VAMT console on the local (workgroup) VAMT host.

    3. From the File menu, click Open, and then select the IsolatedLabGroupwithCID.CIL file.

    4. In the tree view pane, right-click the Isolated Lab group, and then click Reapply Confirmation ID to display the MAK Proxy Reactivate dialog box.

    5. Leave the Install MAK (overwrite existing) check box selected, and ensure that the previously used MAK is selected from the list.

    6. Leave the Reapply Confirmation ID and Reactivate check box selected to reapply the stored CIDs from the IsolatedLabGroupwithCID.CIL file.

    7. Leave the Require exact IID match check box selected if the hardware has not changed since the initial MAK Proxy Activation and you are using the same MAK to reactivate the computer.

      Clear this check box if the hardware has changed but you would still like VAMT to attempt a reactivation using the previously stored CID. Note that Windows might not be successfully reactivated in this scenario.

    8. If you are activating a computer that requires administrator credentials different from those you are currently using, select the Use Alternate Credentials check box.

    9. Click OK.

      The VAMT displays the Assigning Product Keys dialog box while it applies the MAK to the Isolated Lab Group.

      The VAMT displays the Assigning Confirmation IDs dialog box while it installs the CIDs on the selected computers.

      Note   Selecting the Install MAK (overwrite existing) check box force-installs a MAK. This must be done with care. If the pre-SP1 version of Windows Vista has been installed for more than 30 days, then its Initial Grace period has expired and it will enter RFM if activation is not completed successfully before the next logon. VAMT can be used to recover properly configured remote computers from RFM as long as they are accessible on the network. RFM only applies to the pre-SP1 version of Windows Vista. Windows Vista with SP1 or later, Windows 7, Windows Server 2008, and Windows Server 2008 R2 will not enter RFM.

VAMT Support for KMS Activation

In this scenario, the VAMT is used to install and activate KMS client keys on either Core Network or Isolated Lab computers. The procedure described below assumes that the VAMT has been installed and the computers have been added to the CIL. These tasks are described in steps 1–4 in either Scenario 1 (for the Core Network) or Scenario 2 (for the Isolated Lab workgroup).

  1. Open the VAMT console.

  2. Select the computers to be activated, either by clicking a group in the tree view pane or by selecting individual computers in the list view pane.

  3. Right-click the selected group or computers, and then click Configure for KMS Activation to display the KMS Configuration dialog box.

  4. Select Install KMS Client Key (overwrite existing) to instruct the VAMT to install a KMS client key on a client computer.

  5. Select the appropriate activation option:

    • Auto-Discover KMS host using DNS. The VAMT first clears any previously configured KMS host on the target computer, then instructs the computer to query DNS to locate a KMS host and attempt activation.

    • Use specific KMS host and port. The VAMT sets the specified KMS host name and port on the target computer, and then instruct the computer to attempt activation with that specific KMS host.

  6. If you are activating computers that require administrator credentials different from those you are currently using, select the Use Alternate Credentials check box, and then click OK.

    The VAMT displays the Assigning Product Keys dialog box, and then displays the Activating Computers dialog box until it completes the requested action. If you selected the Use Alternate Credentials check box, you will be prompted to enter the credentials prior to these dialog boxes.

Converting KMS to MAK Activation

Windows 7 and Windows Server 2008 R2 install automatically as KMS clients. To convert a KMS client to MAK activation, install a MAK. A MAK can be installed during or anytime after operating system installation.

A MAK key can be installed on a reference image of Windows 7 and Windows Server 2008 R2 to make all installations from that image use MAK activation instead of the default KMS activation. Doing so alleviates the need to specify a MAK in an unattended installation file.

Installing a MAK During Operating System Installation

You can convert a KMS client to a MAK client during the initial installation of Windows 7 or Windows Server 2008 R2 by including a MAK in an unattended setup (Unattend.xml) file. The Unattend.xml file can be used with Setup.exe or Windows Deployment Services. For more information, see the Unattended Windows Setup Reference help file in the Windows AIK at http://go.microsoft.com/fwlink/?LinkId=136976.

Note   The MAK is stored in clear text in the Unattend.xml file. During an unattended installation, the file Unattend.xml or AutoUnattend.xml is copied to the %SystemRoot%\Panther folder of the target computer. However, at the end of the Setup process, the Setup program replaces it with “SENSITIVE*DATA*DELETED.”

Installing a MAK After Operating System Installation

You can configure a volume edition of Windows 7 or Windows Server 2008 R2 to use MAK activation by using the Control Panel System item or by running the Slmgr.vbs script:

  • To install a MAK by using the System application, click the Change your product key link, and then type the MAK in the Change your product key for activation dialog box.

  • To install a MAK by using Slmgr.vbs, run the following command at a command prompt:

    Copy Code
    slmgr.vbs /ipk <MultipleActivationKey>
    

    where MultipleActivationKey is the MAK.

If users install a MAK by using the user interface (UI), the MAK client attempts to activate itself over the Internet one time. If the users install a MAK key by using the Slmgr.vbs script, the MAK client does not try to activate automatically. The user can use Slmgr.vbs /ato to manually activate the MAK over Internet.

KMS Host Keys to Products

Table 7 describes the products that each KMS host can activate.

Table 7. KMS Host Keys Matched to Products They Activate

Volume product group

Windows products

Key type

Products activated by key type

Windows Vista

Windows Vista Business

Windows Vista Enterprise

KMS

Windows Vista Business

Windows Vista Enterprise

Windows 7

Windows 7 Professional

Windows 7 Enterprise

KMS

Windows Vista Business

Windows Vista Enterprise

Windows 7 Professional

Windows 7 Enterprise

Windows Server 2008 R2

Server Group A:

Windows Web Server® 2008 R2

Windows Server 2008 R2 HPC Edition

Windows HPC Server 2008 R2

KMS_A

Windows Server 2008 R2 Group A

Windows Server 2008 Group A

Windows Vista Volume Editions

Windows 7 Volume Editions

Windows Server 2008 R2

Server Group B

Windows Server 2008 R2 Standard

Windows Server 2008 R2 Enterprise

KMS_B

Windows Server 2008 R2 Group A

Windows Server 2008 Group A

Windows Server 2008 R2 Group B

Windows Server 2008 Group B

Windows Vista Volume Editions

Windows 7 Volume Editions

Windows Server 2008 R2

Server Group C

Windows Server 2008 R2 Datacenter

Windows Server 2008 R2 for Itanium-Based Systems

KMS_C

Windows Server 2008 R2 Group A

Windows Server 2008 Group A

Windows Server 2008 R2 Group B

Windows Server 2008 Group B

Windows Server 2008 R2 Group C

Windows Server 2008 Group C

Windows Vista Volume Editions

Windows 7 Volume Editions

Windows Server 2008 R2 KMS keys follow the same hierarchy (groups A, B, C) as Windows Server 2008 with the addition of the Windows Server 2008 Datacenter without Hyper-V™, Windows Server 2008 Enterprise without Hyper-V, and Windows Server 2008 Standard without Hyper-V. The primary difference to note is that Windows Server 2008 R2 KMS keys can be used to activate a KMS host that will in turn activate Windows Server 2008, Windows 7, and Windows Vista.

Windows Server 2008 and Windows Vista keys cannot activate Windows 7 or Windows Server 2008 R2 systems.


Activation Policy Values

Table 8 lists policy values for Windows 7 and Windows Server 2008 R2.

Table 8. Windows 7 and Windows Server 2008 R2 Policy Values

Element

Client value

Server value

Range

Rearm limit

3

3

Not configurable

KMS Client Count Threshold

25

5

Not configurable

KMS Activation duration

180 days

180 days

Not configurable

KMS host listening port

1688

1688

Any open TCP port

OOB Grace

30 days

30 days

Not configurable

OOT Grace

30 days

30 days

Not configurable

KMS client reactivation (in minutes)

10,080 minutes

(7 days—default)

10,080 minutes

(7 days—default)

15–43,200 minutes

(30 days—default)

Silent KMS retry interval—occurs on KMS activation failure

120 minutes

120 minutes

15–43,200 minutes

(120 minutes—default)


KMS Client Setup Keys

By default, the Windows 7 and Windows Server 2008 R2 operating systems use KMS for activation. In volume installations, the setup key is installed by default, which makes the system a KMS client. If you are converting a computer from a KMS host, MAK, or retail edition of Windows to a KMS client, install the applicable setup key (GVLK) from Table 9 using slmgr /ipk <setup key>.

Table 9. KMS Client Setup Keys

Platform

Operating system edition

Product key

Windows 7 and Windows Server 2008 R2

Client

Windows 7 Professional

FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4

Client

Windows 7 Professional N

MRPKT-YTG23-K7D7T-X2JMM-QY7MG

Client

Windows 7 Professional E

W82YF-2Q76Y-63HXB-FGJG9-GF7QX

Client

Windows 7 Enterprise

33PXH-7Y6KF-2VJC9-XBBR8-HVTHH

Client

Windows 7 Enterprise N

YDRBP-3D83W-TY26F-D46B2-XCKRJ

Client

Windows 7 Enterprise E

C29WB-22CC8-VJ326-GHFJW-H9DH4

Server

Windows Server 2008 R2 Web

6TPJF-RBVHG-WBW2R-86QPH-6RTM4

Server

Windows Server 2008 R2 HPC edition

FKJQ8-TMCVP-FRMR7-4WR42-3JCD7

Server

Windows Server 2008 R2 Standard

YC6KT-GKW9T-YTKYR-T4X34-R7VHC

Server

Windows Server 2008 R2 Enterprise

489J6-VHDMP-X63PK-3K798-CPX3Y

Server

Windows Server 2008 R2 Datacenter

74YFP-3QFB3-KQT8W-PMXWJ-7M648

Server

Windows Server 2008 R2 for Itanium-based Systems

GT63C-RJFQ3-4GMB6-BRFB9-CB83V

Windows Vista and Windows Server 2008

Client

Windows Vista Business

YFKBB-PQJJV-G996G-VWGXY-2V3X8

Client

Windows Vista Business N

HMBQG-8H2RH-C77VX-27R82-VMQBT

Client

Windows Vista Enterprise

VKK3X-68KWM-X2YGT-QR4M6-4BWMV

Client

Windows Vista Enterprise N

VTC42-BM838-43QHV-84HX6-XJXKV

Server

Windows Web Server 2008

WYR28-R7TFJ-3X2YQ-YCY4H-M249D

Server

Windows Server 2008 Standard

TM24T-X9RMF-VWXK6-X8JC9-BFGM2

Server

Windows Server 2008 Standard without Hyper-V

W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ

Server

Windows Server 2008 Enterprise

YQGMW-MPWTJ-34KDK-48M3W-X4Q6V

Server

Windows Server 2008 Enterprise without Hyper-V

39BXF-X8Q23-P2WWT-38T2F-G3FPG

Server

Windows Server 2008 HPC

RCTX3-KWVHP-BR6TB-RB6DM-6X7HP

Server

Windows Server 2008 Datacenter

7M67G-PC374-GR742-YH8V4-TCBY3

Server

Windows Server 2008 Datacenter without Hyper-V

22XQ2-VRXRG-P8D42-K34TD-G3QQC

Server

Windows Server 2008 for Itanium-Based Systems

4DWFP-JF3DJ-B7DTH-78FJB-PDRHK


Activation Error Codes

Table 10 provides troubleshooting help for problems that occur when activating volume editions of Windows 7 and Windows Server 2008 R2 operating systems.

Table 10. Error Codes and Descriptions

Error code

Error message

Activation type

Possible cause

Troubleshooting steps

0xC004C001

The activation server determined the specified product key is invalid

MAK

An invalid MAK was entered.

Verify that the key is the MAK provided by Microsoft.

Contact the Microsoft Activation Call Center to verify that the MAK is valid.

0xC004C003

The activation server determined the specified product key is blocked

MAK

The MAK is blocked on the activation server.

Contact the Microsoft Activation Call Center to obtain a new MAK and install/activate the system.

0xC004C008

The activation server determined that the specified product key could not be used.

KMS

The KMS key has exceeded the activation limit.

KMS host keys will activate up to 10 times on six different computers. If more activations are necessary, contact the Microsoft Activation Call Center.

0xC004C020

The activation server reported that the Multiple Activation Key has exceeded its limit.

MAK

The MAK has exceeded the activation limit.

MAKs by design have a limited number of activations. Contact the Microsoft Activation Call Center.

0xC004C021

The activation server reported that the Multiple Activation Key extension limit has been exceeded.

MAK

The MAK has exceeded the activation limit.

MAKs by design have a limited number of activations. Contact the Microsoft Activation Call Center.

0xC004F009

The Software Protection Service reported that the grace period expired.

MAK

The grace period expired before the system was activated. Now, the system is in the Notifications state.

See the section “User Experience.”

0xC004F00F

The Software Licensing Server reported that the hardware ID binding is beyond level of tolerance.

MAK/KMS client/KMS host

The hardware has changed or the drivers were updated on the system.

MAK: Reactivate the system during the OOT grace period using either online or phone activation.

KMS: Restart, or run slmgr.vbs /ato.

0xC004F014

The Software Protection Service reported that the product key is not available

MAK/KMS client

No product keys are installed on the system.

Install a MAK product key, or install a KMS Setup key found in \sources\pid.txt on the installation media.

0xC004F02C

The Software Protection Service reported that the format for the offline activation data is incorrect.

MAK/KMS client

The system has detected that the data entered during phone activation is not valid.

Verify that the CID is correctly entered.

0xC004F035

This error code equates to “The Software Protection Service reported that the computer could not be activated with a Volume license product key...” The error text is correct, but is ambiguous.

This error indicates that the computer is missing a Windows marker in the BIOS – provided on OEM systems to indicate computers shipping with qualifying editions of Windows, which is a requirement for KMS client activation.

Error: Invalid Volume License Key

In order to activate, you need to change your product key to a valid Multiple Activation Key (MAK) or Retail key.

You must have a qualifying operating system license AND a Volume license Windows 7 upgrade license, or a full license for Windows 7 from a retail source.

ANY OTHER INSTALLATION OF THIS SOFTWARE IS IN VIOLATION OF YOUR AGREEMENT AND APPLICABLE COPYRIGHT LAW.

KMS client/KMS host

Windows 7 Volume editions are licensed for upgrade only. Installing a Volume operating system on a computer that does not have a qualifying operating system installed is not supported.

Install a qualifying version of a Microsoft operating system, and then activate by using a MAK.

0xC004F038

The Software Protection Service reported that the computer could not be activated. The count reported by your Key Management Service (KMS) is insufficient. Please contact your system administrator.

KMS client

The count on the KMS host is not high enough. The KMS count must be ≥5 for Windows Server  or ≥25 for Windows client.

More computers are needed in the KMS pool for KMS clients to activate. Run Slmgr.vbs /dli to get the current count on the KMS host.

0xC004F039

The Software Protection Service reported that the computer could not be activated. The Key Management Service (KMS) is not enabled.

KMS client

This error occurs when a KMS request is not answered.

Troubleshoot the network connection between the KMS host and the client. Make sure that TCP port 1688 (default) is not blocked by a firewall or otherwise filtered.

0xC004F041

The Software Protection Service determined that the Key Management Server (KMS) is not activated. KMS needs to be activated.

KMS client

The KMS host is not activated.

Activate the KMS host with either online or phone activation.

0xC004F042

The Software Protection Service determined that the specified Key Management Service (KMS) cannot be used.

KMS client

Mismatch between the KMS client and the KMS host.

This error occurs when a KMS client contacts a KMS host that cannot activate the client software. This can be common in mixed environments that contain application and operating system-specific KMS hosts, for example.

0xC004F050

The Software Protection Service reported that the product key is invalid.

KMS, KMS client, MAK

This can be caused by a typo in the KMS key or by typing in a Beta key on a Released version of the operating system.

Install the appropriate KMS key on the corresponding version of Windows. Check the spelling. If the key is being copied and pasted, make sure that em-dashes have not been substituted for the dashes in the key.

0xC004F051

The Software Protection Service reported that the product key is blocked.

MAK/KMS

The product key on the activation server is blocked by Microsoft.

Obtain a new MAK/KMS key, install it on the system, and activate.

0xC004F064

The Software Protection Service reported that the non-genuine grace period expired.

MAK

Windows Activation Tools (WAT) has determined the system is not genuine.

See the Volume Activation Operations Guide.

0xC004F065

The Software Protection Service reported that the application is running within the valid non-genuine period.

MAK/KMS client

Windows Activation Tools has determined that the system is not genuine. The system will continue to run during the Non-Genuine grace period.

Obtain and install a genuine product key, and activate the system during the grace period. Otherwise, the system will go into the Notifications state at the end of the grace period.

0xC004F06C

The Software Protection Service reported that the computer could not be activated. The Key Management Service (KMS) determined that the request timestamp is invalid.

KMS client

The system time on the client computer is too different from the time on the KMS host.

Time sync is important to system and network security for a variety of reasons. Fix this issue by changing the system time on the client to sync with the KMS. Use of a Network Time Protocol (NTP) time source or Active Directory Domain Services for time synchronization is recommended. This issue uses UTP time and is independent of Time Zone selection.

0x80070005

Access denied. The requested action requires elevated privileges.

KMS client/MAK/KMS host

User Account Control (UAC) prohibits activation processes from running in a non-elevated command prompt.

Run slmgr.vbs from an elevated command prompt. Right-click cmd.exe, and then click Run as Administrator.

0x8007232A

DNS server failure.

KMS host

The system has network or DNS issues.

Troubleshoot network and DNS.

0x8007232B

DNS name does not exist.

KMS client

The KMS client cannot find KMS SRV RRs in DNS.

If a KMS host does not exist on the network, a MAK should be installed.

Confirm that a KMS host has been installed and DNS publishing is enabled (default).

If DNS is unavailable, point the KMS client to the KMS host by using slmgr.vbs /skms <kms_host_name>.

Optionally, obtain and install a MAK; then, activate the system.

Finally, troubleshoot DNS.

0x800706BA

The RPC server is unavailable.

KMS client

Firewall settings are not configured on the KMS host, or DNS SRV records are stale.

Ensure the Key Management Service firewall exception is enabled on the KMS host machine.

Ensure that SRV records point to a valid KMS host.

Troubleshoot network connections.

0x8007251D

No records found for DNS query.

KMS client

The KMS client cannot find KMS SRV RRs in DNS.

Troubleshoot network connections and DNS.

0xC004F074

The Software Protection Service reported that the computer could not be activated. No Key Management Service (KMS) could be contacted. Please see the Application Event Log for additional information.

KMS Client

All KMS host systems  returned an error.

Troubleshoot errors from each event ID 12288 associated with the activation attempt.


Windows Event Log

Table 11 lists the events that KMS logs in the Windows event log. The following describe common data for each event:

  • Log file name for all except 12290: Windows Logs\Application

  • Log file name 12290: Applications and Services Logs\Key Management Service

  • Event provider name: Microsoft-Windows-Security-Licensing-SLC

  • Source name: Software Protection Service

Table 11. KMS Events Logged in the Windows Event Log

EventID

Logged by

Description

Message

Parameters

Fields included in comma-delimited string

Examples

 

 

 

 

Name

Description

 

12288

Client

Request generation failure or after RPC submit (client)

The client has sent an activation request to the Key Management Service computer.%nInfo:%n%1

HRESULT

Return code

0x0

 

Status

Flags (note 1)

0x8

Server:Port

Name:port

kms01.contoso.com:1688

CMID

Client Machine ID

08c3bda0-c556-4b61-9e4e-7bf6d4df80be,

Client Time

Request timestamp

2006/1/14 2:30,

VM Info

Unused

1

Licensing Status

License status

0 - Unlicensed

1 - Licensed (Activated)

2 - OOB grace

3 - OOT grace

4 – NonGenuineGrace

5 – Notifications

6 – Extended Grace

2

 

Time to Expiration

Time remaining (minutes)

40123

ActID

Activation ID - identifies the license

cf67834d-db4a-402c-ab1f-2c134f02b700,

N-Policy

Minimum count client needs to activate

25

12289

Client

After KMS response validation (client)

The client has processed an activation response from the key management service computer.%nInfo:%n%1

HRESULT

Return code

0x0

 

Status

Flags (note 1)

0x4000008

fBound

Activated flag

0

Unused

Unused - ignore

0

Count

KMS current count

4

Activation Interval

Request interval when not activated (minutes)

120

Renewal Interval

Request interval when activated (minutes)

10080

Client Time

Request timestamp

1/14/2006 2:30

12290

KMS

KMS server side log for each request

An activation request has been processed.%nInfo:%n%1

HRESULT

Return code

0x0

 

N-Policy

Client product minimum count needed to activate

25

Machine

Client computer name

kms03.site5.contoso.com

CMID

Client Machine ID

e5c98033-aab6-4d0b-9af9-1d399597dd56

 

Client Time

Request timestamp

2006/1/14 22:36

VM Info

Client OS is running in a virtual machine

1

Licensing Status

License status

0 - Unlicensed

1 - Licensed (Activated)

2 - OOB grace

3 - OOT grace,

4 - NonGenuineGrace

5 – Notifications

6 – Extended Grace

2

Time to Expiration

Time remaining (minutes)

40123

ActID

Activation ID - identifies the license

cf67834d-db4a-402c-ab1f-2c134f02b700

12291

KMS

KMS initialization failure

Volume-licensed client was unable to initialize the Key Management Service renewal timer.%nInfo:%n%1

HRESULT

Return code

 

12292

KMS

Renewal timer initialization failure

Key Management Service (KMS) failed to initialize renewal timer.%nInfo:%n%1

HRESULT

Return code

 

12293

KMS

DNS RR publishing failure

Publishing the Key Management Service (KMS) to DNS in the '%2' domain failed.%nInfo:%n%1

P1: HRESULT

P2: DNS domain

P1: Return code

P2: DNS domain name

12294

KMS

DNS RR publishing success

Publishing the Key Management Service (KMS) to DNS in the '%1' domain is successful.%n

DNS domain

DNS domain name

 


WMI Properties and Methods

Table 12 lists WMI properties and methods for the Software Protection Platform. Software Protection Platform properties are defined in the file %WinDir%\System32\wbem\sppwmi.mof.

Table 12. Software Protection Platform WMI Properties and Methods

//properties SoftwareLicensingService Class
Version Version of the Software Protection Service
KeyManagementServiceMachine The name of the KMS host. Returns null if SetKeyManagementServiceMachine has not been called.
KeyManagementServicePort The TCP port used by clients to send KMS activation requests. Returns 0 if SetKeyManagementServicePort has not been called.
IsKeyManagementServiceMachine Indicates whether KMS is enabled on the computer: 0 if false, 1 if true.
VLActivationInterval The frequency, in minutes, of how often a client will contact the KMS host before the client is licensed.
VLRenewalInterval The frequency, in minutes, of how often a client will contact the KMS host after the client is licensed.
KeyManagementServiceCurrentCount The count of currently active KMS clients on the KMS host. -1 indicates that the host is not enabled as a KMS or has not received any client licensing requests.
RequiredClientCount The minimum number of clients required to connect to a KMS host in order to enable Volume Licensing.
PolicyCacheRefreshRequired Indicates whether the licensing policy cache needs to be updated: 0=not required, 1=Refresh required.
ClientMachineID The globally unique identifier (GUID) that identifies a KMS client to a KMS host. The client includes this in requests it sends to the KMS.
RemainingWindowsReArmCount Remaining number of times the client can be rearmed successfully.
KeyManagementServiceListeningPort The TCP port the KMS host uses to listen for activation requests.
KeyManagementServiceDnsPublishing Indicates the DNS publishing status of a KMS host: 0=Disabled, 1=Auto-publish enabled (default).
KeyManagementServiceLowPriority Indicates the thread priority status of KMS service: 0=Normal Priority (default), 1=Low priority.
KeyManagementServiceHostCaching Indicates the caching status of KMS host name and port: 0=Caching disabled, 1=Caching enabled (default).
KeyManagementServiceUnlicensedRequests The count of KMS requests from clients with License Status=0 (Unlicensed).
KeyManagementServiceLicensedRequests The count of KMS requests from clients with License Status=1 (Licensed).
KeyManagementServiceOOBGraceRequests The count of KMS requests from clients with License Status=2 (OOBGrace).
KeyManagementServiceOOTGraceRequests The count of KMS requests from clients with License Status=3 (OOTGrace).
KeyManagementServiceNonGenuineGraceRequests The count of KMS requests from clients with License Status=4 (NonGenuineGrace).
KeyManagementServiceNotificationRequests The count of KMS requests from clients with License Status=5 (Notification).
KeyManagementServiceTotalRequests The total count of valid KMS requests.
KeyManagementServiceFailedRequests The count of invalid KMS requests.
KeyManagementServiceActivationDisabled Indicates whether the volume activation through KMS is disabled.
//methods SoftwareLicensingProduct Class
InstallProductKey Installs a product key.
InstallLicense Installs a license.
InstallLicensePackage Installs a license package for the current product.
SetKeyManagementServiceMachine Sets the KMS host name to use for volume activation.
ClearKeyManagementServiceMachine Clears any previously configured KMS host name.
SetKeyManagementServicePort Sets the TCP port used by a client to make requests of a KMS host. If not specified, port 1688 is used.
ClearKeyManagementServicePort Clears any previously specified port number.
SetVLActivationInterval The activation frequency, in minutes, of how often KMS clients will contact the KMS host before they become licensed. The frequency must be ≥15 and ≤43,200. An error is returned if the method is called and the computer is not a KMS.
SetVLRenewalInterval The renewal frequency, in minutes, of how often KMS clients will contact the KMS host after they have become licensed. The frequency must be ≥15 and ≤43,200. An error is returned if the method is called and the computer is not a KMS.
ClearProductKeyFromRegistry Clears product key from the registry.
AcquireGenuineTicket Perform online Genuine Validation. Calling this method may change the Genuine status of the computer.
ReArmWindows Resets the licensing status of the computer to OOB Grace (see LicenseStatus).

Note   You must restart the client for the changes to take effect.

RefreshLicenseStatus Updates the licensing status of Windows so that applications have access to current licensing information.
SetKeyManagementServiceListeningPort Sets the TCP port used by a KMS host to listen for activation requests. Applies to KMS hosts only. If not specified, port 1688 is used.
ClearKeyManagementServiceListeningPort Clears any previously specified listening port. Applies to KMS hosts only.
DisableKeyManagementServiceDnsPublishing Enable/disable DNS Publishing on a KMS host computer: 0=Enable, 1=Disable.
EnableKeyManagementServiceLowPriority Enable/disable KMS service running with low priority: 0=Disable, 1=Enable.
DisableKeyManagementServiceHostCaching Enable/disable the caching of the KMS host name and port on a volume activation client computer: 0=Enable, 1=Disable.
DisableKeyManagementServiceActivation Enable/disable volume activation through a KMS machine: 0=Enable, 1=Disable.
DiscoveredKeyManagementServiceMachineName Last discovered KMS host name through DNS.
DiscoveredKeyManagementServiceMachinePort Last discovered KMS host port through DNS.
//properties SoftwareLicensingService Class
ID Product identifier
Name Product name
Description Product description
ApplicationID ID of current product’s application
ProcessorURL Software licensing server URL for the process certificate
MachineURL Software licensing server URL for the binding certificate
ProductKeyURL Software licensing server URL for the product certificate
UseLicenseURL Software licensing server URL for the user license
LicenseStatus License status of this product's application:

0=Unlicensed,
1=Licensed,
2=OOBGrace,
3=OOTGrace,
4=NonGenuineGrace,
5=Notification,
6=ExtendedGrace
LicenseStatusReason A diagnostic code that indicates why a computer is in a specific licensing state.
GracePeriodRemaining Remaining time in minutes before the parent application goes into Notification mode. For volume clients, this is the remaining time before reactivation is required.
EvaluationEndDate The expiration date of this product’s application. After this date, the LicenseStatus will be Unlicensed and cannot be activated.
OfflineInstallationId An identifier for this product's application that can be used for telephone or offline activation. Returns null if a product key is not installed.
PartialProductKey Last five characters of this product’s key. Returns null if a product key is not installed.
ProductKeyID Product key ID. Returns null if a product key is not installed.
LicenseFamily The family identifier for the SKU used to determine license relationships for add-ons.
LicenseDependsOn The dependency identifier for the family of SKUs used to determine license relationships for add-ons.
LicenseIsAddon Returns True if the product is identified as an add-on license.
VLActivationInterval The frequency, in minutes, of how often a client will contact the KMS host before the product is licensed.
VLRenewalInterval The frequency, in minutes, of how often a client will contact the KMS host after the product is licensed.
KeyManagementServiceProductKeyID KMS product key ID. Returns null if not applicable.
KeyManagementServiceMachine The name of the KMS host. Returns null if SetKeyManagementServiceMachine has not been called.
KeyManagementServicePort The TCP port used by clients to send KMS activation requests. Returns 0 if SetKeyManagementServicePort has not been called.
DiscoveredKeyManagementServiceMachineName Last discovered KMS host name through DNS.
DiscoveredKeyManagementServiceMachinePort Last discovered KMS host port through DNS.
IsKeyManagementServiceMachine Indicates if KMS is enabled on the computer: 1 if true, 0 if false.
KeyManagementServiceCurrentCount The count of currently active KMS clients on the KMS host. -1 indicates that the computer is not enabled as a KMS or has not received any client licensing requests.
RequiredClientCount The minimum number of clients required to connect to a KMS host in order to enable Volume Licensing.
KeyManagementServiceUnlicensedRequests The count of KMS requests from clients with License Status=0 (Unlicensed).
KeyManagementServiceLicensedRequests The count of KMS requests from clients with License Status=1 (Licensed).
KeyManagementServiceOOBGraceRequests The count of KMS requests from clients with License Status=2 (OOBGrace).
KeyManagementServiceOOTGraceRequests The count of KMS requests from clients with License Status=3 (OOTGrace).
KeyManagementServiceNonGenuineGraceRequests The count of KMS requests from clients with License Status=4 (NonGenuineGrace).
KeyManagementServiceTotalRequests The total count of valid KMS requests.
KeyManagementServiceFailedRequests The count of failed KMS requests.
KeyManagementServiceNotificationRequests The count of KMS requests from clients with License Status=5 (Notification).
GenuineStatus Genuine status for this product’s application.
ExtendedGrace Extended grace time in minutes before the parent application becomes unlicensed.
TrustedTime Displays the currently stored trusted time in the system.
DisableKeyManagementServiceHostCaching Enable/disable the caching of the KMS host name and port on a volume activation client computer: 0=Enable, 1=Disable.
// methods SoftwareLicensingProduct Class
UninstallProductKey Uninstalls a product key for the current product.
Activate Activates the current product.
DepositOfflineConfirmationId Activates a product by depositing an Offline Confirmation Identifier for this product when performing telephone or offline activation.
GetPolicyInformationDWord Gets license policy information of type DWORD.
GetPolicyInformationString Gets policy information of type string.
SetKeyManagementServiceMachine Sets the KMS host name to use for volume activation.
ClearKeyManagementServiceMachine Clears any previously configured KMS host name.
SetKeyManagementServicePort Sets the TCP port used by a client to make requests of a KMS host. If not specified, port 1688 is used.
ClearKeyManagementServicePort Clears any previously specified port number.

Glossary

Term

Definition

ACID

GUID used to identify an activation method within a software edition.

AD DS

Active Directory Domain Services.

AppID

A GUID defined to group a collection of SKU IDs like a family name. All Windows editions have the same AppID.

DNS

Domain Name Service.

FQDN

Fully qualified domain name (for example, phred.microsoft.com).

GVLK

Generic Volume License Key, an edition-specific product key that installs in all volume editions of Windows by default. Also known as the default KMS Client setup key. For more information, see Table 9.

KMS

Key Management Service.

KMSID

A GUID sent by the KMS CLIENT for activation with a KMS host. can be shared across multiple ACIDs.

Machine Certificate Store

This certificate and its private key must be accessible by the user attempting token-based activation.

MAK

Multiple Activation Key.

N-policy

License policy that specifies the minimum count of machines returned by a KMS that a client will use to determine whether to self-activate.

PIN

Personal identification number, used with a smart card as an authentication credential.

SKU

Describes a distinct edition of Windows or other software.

SKUId

Same as ACID above

SPPSVC

Software Protection Service, the service platform built into Windows 7 and Windows Server 2008 R2 that manages licensing activities for Windows and other applications.

SRV

A type of resource record supported in DNS (see Request for Comments [RFC] 2782)

Token

An x509 certificate with its associated private key is used to activate Windows on computers enabled for token-based activation.

VL

Volume Licensing.

WMI

Windows Management Instrumentation.


Resource Links

© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker