Slmgr.vbs options for obtaining volume activation information

The following describes the syntax of the Slmgr.vbs script, and the tables in this article describe each command-line option.

slmgr.vbs [<ComputerName> [<User> <Password>]] [<Options>]

Note

In this article, square brackets [] enclose optional arguments, and angle brackets <> enclose placeholders. When you type these statements, omit the brackets and replace the placeholders by using corresponding values.

Note

For information about other software products that use volume activation, see the documents specifically written for those applications.

Using Slmgr on remote computers

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 WMI Properties and Methods for Volume Activation.

Important

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. Trying to manage an older 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:

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

General Slmgr.vbs options

Option Description
[<ComputerName>] Name of a remote computer (default is local computer)
[<User>] Account that has the required privilege on the remote computer
[<Password>] Password for the account that has the required privileges on the remote computer

Global options

Option Description
/ipk <ProductKey> Tries 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 window, 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 that have a KMS host key or a Multiple Activation Key (MAK) installed, /ato prompts Windows to try online activation.
For systems that have a Generic Volume License Key (GVLK) installed, this prompts a KMS activation attempt. Systems that have been set to suspend automatic KMS activation attempts (/stao) still try KMS activation when /ato is run.
Note: Starting in Windows 8 (and Windows Server 2012), the /stao option is deprecated. Use the /act-type option instead.
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 have 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 that is associated with that Activation ID. Specifying All as the parameter displays license information for all applicable installed products.
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 license information for all applicable installed products.
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 that is associated with that Activation ID.This operation does not require elevated privileges.

Advanced options

Option Description
/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 required only for other types of keys whose default behavior is not to clear the key from the registry.
This operation must be run in an elevated Command Prompt window.
/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.vbs. Instead, validation is handled by the Software Protection Service at runtime.
This operation must be run from an elevated Command Prompt window, 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 that were 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 affected.
This operation must be run in an elevated Command Prompt window, 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 does nothing if the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm registry entry is set to 1. See Registry Settings for Volume Activation for details about this registry entry.
This operation must be run in an elevated Command Prompt window, or the Standard User Operations registry value must be set to allow unprivileged users extra access to the Software Protection Service.
/rearm-app <Application ID> Resets the licensing status of the specified app.
/rearm-sku <Application ID> Resets the licensing status of the specified SKU.
/upk [<Application ID>] 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 window.
/dti [<Activation ID>] Displays installation ID for offline activation.
/atp <Confirmation ID> Activate product by using user-provided confirmation ID.

KMS client options

Option Description
/skms <Name[:Port] | : port> [<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 the Slmgr.vbs script does not parse correctly.
This operation must be run in an elevated Command Prompt window.
/skms-domain <FQDN> [<Activation ID>] Sets the specific DNS domain in which all KMS SRV records can be found. This setting has no effect if the specific single KMS host is set by using the /skms option. Use this option, especially in disjoint namespace environments, to force KMS to ignore the DNS suffix search list and look for KMS host records in the specified DNS domain instead.
/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 in an elevated Command Prompt window.
/skhc This option enables KMS host caching (default). After the client discovers a working KMS host, this setting prevents the Domain Name System (DNS) priority and weight from affecting further communication with the host. If the system can no longer contact the working KMS host, the client tries to discover a new host.
This operation must be run in an elevated Command Prompt window.
/ckhc This option disables KMS host caching. This setting instructs the client to use DNS auto-discovery each time it tries KMS activation (recommended when using priority and weight).
This operation must be run in an elevated Command Prompt window.

KMS host configuration options

Option Description
/sai <Interval> This option sets the interval in minutes for unactivated clients to try to connect to KMS. The activation interval must be between 15 minutes and 30 days, although the default value (two 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 in an elevated Command Prompt window.
/sri <Interval> This option sets the renewal interval in minutes for activated clients to try to connect to KMS. 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 value 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.
This operation must be run in an elevated Command Prompt window.
/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 window.
/sdns Enable DNS publishing by the KMS host (default).
This operation must be run in an elevated Command Prompt window.
/cdns Disable DNS publishing by the KMS host.
This operation must be run in an elevated Command Prompt window.
/spri Set the KMS priority to normal (default).
This operation must be run in an elevated Command Prompt window.
/cpri Set the KMS priority to low.
Use this option to minimize contention from KMS in a co-hosted environment. Note that this could cause KMS starvation, depending on what other applications or server roles are active. Use with care.
This operation must be run in an elevated Command Prompt window.
/act-type [<Activation-Type>] [<Activation ID>] This option sets a value in the registry that limits volume activation to a single type. Activation Type 1 limits activation to Active Directory only; 2 limits it to KMS activation; 3 to token-based activation. The 0 option allows any activation type and is the default value.

Token-based activation configuration options

Option Description
/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 window.
/stao Set the Token-based Activation Only flag, disabling automatic KMS activation.
This operation must be run in an elevated Command Prompt window.
This option was removed in Windows Server 2012 R2 and Windows 8.1. Use the /act–type option instead.
/ctao Clear the Token-based Activation Only flag (default), enabling automatic KMS activation.
This operation must be run in an elevated Command Prompt window.
This option was removed in Windows Server 2012 R2 and Windows 8.1. Use the /act–type option instead.
/ltc List valid token-based activation certificates that can activate installed software.
/fta <Certificate Thumbprint> [<PIN>] Force token-based activation by using the identified certificate. The optional personal identification number (PIN) is provided to unlock the private key without a PIN prompt if you use certificates that are protected by hardware (for example, smart cards).

Active Directory-based activation configuration options

Option Description
/ad-activation-online <Product Key> [<Activation Object name>] Collects Active Directory data and starts Active Directory forest activation using the credentials that the command prompt is running. Local administrator access is not required. However, Read/Write access to the activation object container in the root domain of the forest is required.
/ad-activation-get-IID <Product Key> This option starts Active Directory forest activation in phone mode. The output is the installation ID (IID) that can be used to activate the forest over the telephone if internet connectivity is not available. Upon providing the IID in the activation phone call, a CID is returned that is used to complete activation.
/ad-activation-apply-cid <Product Key> <Confirmation ID> [<Activation Object name>] When you use this option, enter the CID that was provided in the activation telephone call to complete activation
[/name: <AO_Name>] Optionally, you can append the /name option to any of these commands to specify a name for the activation object stored in Active Directory. The name must not exceed 40 Unicode characters. Use double quotation marks to explicitly define the name string.
In Windows Server 2012 R2 and Windows 8.1, you can append the name directly after /ad-activation-online <Product Key> and /ad-activation-apply-cid without having to use the /name option.
/ao-list Displays all of the activation objects that are available to the local computer.
/del-ao <AO_DN>
/del-ao <AO_RDN>
Deletes the specified activation object from the forest.

Additional References