If you’ve installed your Windows with a MAK product key and now want to change it to KMS or install a clean OS (never activated), this guide will definitely help you. It also can be useful if you want to activate your Windows copy on the corporate KMS server.
Microsoft offers two ways of Windows and MS Office activation for corporate customers under the Volume License program. They can use MAK or KMS keys for product activation.
- MAK (Multiple Activation Keys)—MAK license is like a Retail (box) license, but allows to activate several instances of Windows using a single MAK key. The number of activations is limited and depends on the type of your license agreement (Open, Select, or Enterprise Agreement). You must activate Windows copy with the MAK key installed via the Internet or by phone;
- KMS (Key Management Service)—this is an activation type for enterprise customers. The KMS activation server allows activating corporate versions of Windows OS and Microsoft Office products within the enterprise network. The KMS infrastructure is very simple: install Volume Activation Services role on Windows Server, add your KMS Host Key (from Microsoft Volume Licensing Service Center), and activate your corporate KMS server on Microsoft (perform this only once). After that, your enterprise KMS clients can send activation requests to the KMS server and activate with it.
The main advantages of KMS activation:
- KMS clients do not need to access the Internet or the phone to activate the product (only network access to the KMS server is required);
- The KMS client is being activated on the internal KMS server for 180 days and attempts to renew the activation every 7 days;
- In case the KMS server is damaged or lost, there is nothing to restore from backup on the KMS server. Install a new server, install KMS role, enter the KMS host key, activate—and everything is ready to go!
- Instead of a KMS activation, in the AD domain you can use the Active Directory optimized version—ADBA (Active Directory Based Activation);
- KMS infrastructure is simple and extensible, one KMS server can serve thousands of clients.
Deploying KMS Activation Host on Windows Server 2019
KMS host is a special Windows Server role that can automate the activation of volume license Microsoft products (Windows and Office) and track their activation status.
You can install a KMS server on any version of Windows Server. In this example, we will show how to install a KMS activation server on Windows Server 2019.
You can install the KMS role using the Server Manager GUI (Server Manager > Add Roles and Features > Roles > Volume Activation Services).
Or, you can install and configure the KMS server role using PowerShell:
- Run the PowerShell console as administrator and execute the following command:
Install-WindowsFeature -Name VolumeActivation -IncludeAllSubFeature –IncludeManagementTools
- If your Windows Defender Firewall with Advanced Security service is enabled, you need to open incoming connections on TCP port 1688 in order for the KMS client to contact the KMS server. This can be done by the following PowerShell command:
Enable-NetFirewallRule -Name SPPSVC-In-TCP
- Go to the Microsoft Volume Licensing Service Center website > Downloads and Keys > Windows Server > Windows Server 2019 > Key, and copy your KMS Host Key (Windows Srv 2019 DataCtr/Std KMS).
- Now you can install your KMS host key on your server. Run the command:
slmgr /ipk <your_Windows_SRV_2019_KMS_host_key>
- In order to activate your KMS server on Microsoft servers online, run the command:
(you need to temporarily provide direct Internet for your server);
- To check the KMS server activation status, run:
- If necessary, you can optionally install the Volume License Pack for your Office version in order to activate Office copies in the enterprise network;
- Now you can configure KMS clients to activate on your KMS server.
Please note that the KMS host key Windows Srv 2019 allows you to activate all previous versions of Windows, starting from Windows 7/Windows Server 2008 R2. However, if your KMS server is activated with an older host key, you won’t be able to activate new versions of Windows.
For example, if you activated your KMS server with the Windows Srv 2012R2 key, you cannot activate Windows 10 or Windows Server 2016. The maximum supported versions of Windows to activate in this case are Windows 8.1 and Windows Server 2012 R2.
If you use previous versions of Windows as the KMS server, you need to install special updates before installing a new KMS host key:
- Windows Server 2012 R2 — servicing stack update KB3173424, and any latest cumulative update;
- Windows Server 2016 — servicing stack update KB4132216, and any latest cumulative update.
How to Activate Windows with KMS Server?
Changing the activation key to the public KMS Client Setup Key
Before activating your Microsoft product (Windows or Office) on the KMS server, you must change the product activation key to the public KMS Client Setup Key. You can change the product key to KMS from the Windows GUI (use the command slui.exe 4), or you can use the slmgr command-line tool. Slmgr.vbs is a small VBS script located in the %System\Root\system32 folder and used to manage the Windows licensing on a local or remote computer;
To activate a KMS client, it must have a special KMS public key installed. This product key is called the GVLK key (Generic Volume License Key). For each Windows edition, this key is unique. To replace an existing product key, run the command prompt as an administrator on the computer you want to activate and type:
slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
XXXXX is the GVLK key for your Windows edition (read the last section of this article to learn how to find the GVLK for your version of Windows).
In our case, we want to activate Windows 10 Enterprise LTSC 2019 on a KMS server. The KMS Client setup key installation command will look like this:
slmgr.vbs /ipk ****-****-****-****-****
Wait until the confirmation message “Product key XXXXX installed successfully” appears.
Checking VLMCS Record in DNS and setting KMS server address
After you specify the GVLK key, the KMS client tries to connect to the previously configured KMS server or find a special SRV (_VLMCS) record in the DNS. This DNS record is created when you install a new KMS server in the domain and pointing to your KMS server. After the KMS server is discovered using the DNS server, the client performs the OS activation.
You can skip this step if your DNS has a valid SRV record that allows clients to find the KMS server.
Tip. You can check this DNS entry using the nslookup command:nslookup -q=SRV _VLMCS._TCP.theitbros.com
If the client does not find the KMS server automatically, you can specify the address of the KMS server manually using the slmgr with the option /skms. You can also specify the TCP port on which the activation service listens (by default 1688):
slmgr.vbs /skms <KMS_server_name_or_IP>:1688
Key Management Service machine name set to hostname successfully.
You can test network connectivity between your computer and the KMS server using the PowerShell command:
Test-NetConnection -ComputerName KMS_server_name_or_IP -Port 1688
To activate your Windows client with the KMS server, run the command:
And wait until the message Product activated successfully appear;
Check the Status of Windows Activation
Optionally, you can display information about the Windows activation status:
As you can see, the utility returned the following useful info:
- Name — the OS version;
- Description — distribution channel VOLUME_KMSCLIENT channel;
- License status — licensed;
- Volume activation expirations — 180 days;
- KMS server IP address and DNS name (Registered KMS machine name).
You can use the slmgr.vbs tool to perform Windows KMS activation on the remote computer. The following command will check the activation status on the remote computer named nywsdx3323. The connection credentials are specified in plain text:
slmgr.vbs nywsdx3323 administrator P@ssw0rdd -dli
Most Common KMS Activation Errors
Most often users facing the following errors when activating Windows with KMS server:
- 0xC004F074 (The software licensing service reported that the computer could not be activated. No Key Management Service (KMS) could be contacted) — the key management server is unavailable. It means that the KMS service on the server is not running or access to it from the client is blocked (check TCP port 1688 availability on a KMS server);
- 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) — you did not have the necessary number of activation requests on the KMS server (for desktop Windows edition the minimum number of KMS clients – 25, for Windows Server – 5). You can check the current count of hosts connected to the KMS server with the command Slmgr.vbs /dli. Target more Windows hosts to your KMS server;
- 0xC004F015 (The Software Protection Service reported that the product key is not available) — you can see this error when you try to activate Windows 10/Server 2016/2019 on an old KMS server that is activated with the old KMS host key. In this case, you need to get a new KMS host key from VLSC and reactivate your KMS server.
- 0x80072F8F (We can’t activate Windows on this device at the moment. You can try activating later) — check if the time and date on your device are correct. If necessary, synchronize the time with NTP server;
- Unable to reach Windows activation servers.
- 0xC004F035 and 0xC004F059 (The software licensing service reported that the computer could not be activated with a Volume license key. Volume licensed systems require upgrading from a qualified operating system. Please contact your system administrator or use a different type of key) — these errors can occur on computers with OEM versions of Windows. The BIOS of these computers uses the ACPI_SLIC table. The KMS server can’t find a special token in such a table and cannot activate Windows. In such cases, it is recommended to update (flash) the BIOS firmware.
How to Find Out the GLVL Key for Your Windows Edition?
GVLKs or KMS Client Setup Key is a list of public keys that must be used to activate volume editions of Windows and Windows Server. A complete list of GVLK keys is available on the Microsoft website at the following link.
Let’s see how to find the KMS Client Setup key for your version of Windows? First, you need to check the version and edition of Windows on your computer. To do this, you can run the command:
Or use the following PowerShell command:
systeminfo /fo csv | ConvertFrom-Csv | select OS* | Format-List
Tip. Let us remind you that Windows Home and Single Language cannot be activated on the KMS server. KMS activation is available only for Volume License editions.
In our example, we have Windows 10 Pro build 20H2 installed. According to the Windows lifecycle fact sheet, Win 10 20H2 build belongs to Semi-Annual Channel versions. Therefore, we need to look for the GVLK key in the Windows 10, all supported Semi-Annual Channel versions section.
KMS Client Setup Key for our Windows 10 Pro edition is W269N-XXXXX-XXXXX-XXXXX-T83GX.
Copy the found GVLK key and use it in the slmgr command to switch your Windows to KMS activation mode:
slmgr.vbs /ipk W269N-XXXXX-XXXXX-XXXXX-T83GX