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 the activation of several instances of Windows using a single product key (MAK). The number of activations is limited and depends on the type of your license agreement (Open, Select, or Enterprise Agreement). You must activate the Windows copy with the MAK key installed via the Internet or by phone. MAK is recommended to use for activating Windows computers that rarely or never connect to the corporate network, or for small networks where the number of computers doesn’t meet the KMS activation threshold;
- 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 the 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.
KMS is based on a client-server architecture. KMS client computers (your Windows workstations and Windows Server hosts) can find the KMS host using DNS or static configuration. KMS clients communicate with the KMS host over the local network on port TCP/1688 (default). A single KMS host can activate an unlimited number of KMS clients.
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;
- When the KMS host cannot be reached for 180 days, your Windows device is given a grace period of 30 days. After the 30-day grace period expires, Windows switches to “Reduced Functionality Mode” (RFM);
- 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 the 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 2022/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.
Note. You can also deploy the KMS host on desktop versions of Windows such as Windows 11, 10, or 8.1. KMS host running on a desktop Windows edition cannot be used for KMS activation of Windows Server computers.
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 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). This key is called CSVLK.
- 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 (described in tutorial Office 2016 KMS activation) in order to activate Office copies in the enterprise network;
- Now you can configure KMS clients to activate on your KMS server.
You can activate up to 6 KMS servers with the same KMS host key. If you need to activate more than 6 KMS hosts, you need to contact the Microsoft Volume Licensing Activation Center to request an exception.
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.
If you want to activate Windows Server 2022 KMS client versions on the KMS host running Windows Server 2019, you need to install June 8, 2021 KB5003646, or later cumulative update.
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 point 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 appears;
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 face the following errors when activating Windows with the 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 (called the activation threshold). For desktop Windows edition the minimum number of KMS clients – is 25, for Windows Server – 5 (it can be both physical devices and virtual machines). 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 the 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.
You can use the Slui.exe tool to display a description of most activation related error codes (use the syntax: slui.exe 0x2a ErrorCode). For example, to get a more detailed description of activation error 0xC004F074, use the following command:
slui.exe 0x2a 0xC004F074
The error description contains detailed information:
[Window Title] Windows Activation [Main Instruction] An error has occurred [Content] You can also contact Microsoft by phone to help resolve this problem. [Expanded Information] Code: 0xC004F074 Description: The Software Licensing Service reported that the product could not be activated. No Key Management Service (KMS) could be contacted. Please see the Application Event Log for additional information.
You can also find all activation-related events in the Event Viewer application log under the provider name Microsoft-Windows-Security-SPP.
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 (Pro, Pro for Workstations, Pro Education, Education, Enterprise, LTSC, and LTSB).
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
Actually, if the installation media is not Retail but Volume, it is not required to execute slmgr.vbs /ipk KEY part. If the newly installed server can find KMS host via DDNS, executing slmgr.vbs /ato activates the server. If a server cannot find KMS host, you can specify it using slmgr.vbs /skms KMS-Server:Port, default Port=1688.
So, in my case with standalone server this was enough:
slmgr.vbs /skms KMS-Server:Port
Very useful.. Thank you
Glad we could help!
Thank you,i search everywhere but not working
-sorry for my bad english-
So when it comes to activating desktops with Windows 7 and 8, do you use the KMS keys on the MS license portal for the product you are activating, or the generic KMS MS provide for KMS activation?
I Find it very odd that if the KMS server communicates with the MS license server, why the need for KMS key’s for the product, and then a set of generic MS supply’s to perform the same task?
If you are activating Windows 7 or Windows 8 desktops the proper way to do this is to activate via your own KMS Server. If setup properly you shouldn’t have to manually activate your desktops. However, I have seen servers need to be manually activated via KMS more often than not.
But yes I agree with your last statement, seems kind of strange the way they activate with KMS. Totally different than the MAK or VLK keys.
It makes a easily sellable product that can work off i net in a closed network. The time bomb approach was probably a feature requested by the most irresponsible people.. the government. Heck without a cac or a local net the device can be made useless.. we know publicly there was 700 just reported missing the other day..
Excellent! I just had an issue when virtiualising a server that was licenced via our KMS but come out ‘the otherside’ as not genuine (!). Your web page just got me out of the hole. Thanks
Great! Glad we could help.
i wanna download w8 for free, would this method help me obtain it for free without worrying my pc will crash or any files be corrupted?
Sorry Hillaray, this won’t allow you to download W8 for free. This assumes you have a KMS server running.
I am using Windows 7 Professional and mini-KMS Activator. I rearmed Windows 8 days ago. Yesterday I ran “Key Manager Windows VL” to generate the windows key “FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4”. I then ran “Activate Windows CL” but all the KMS servers were reported as “down”. I tried this again just now with the same result – any suggestions?
The english version is there too
The English version you just change the FR with COM
You mean should I install GLVK on all clients? and only then they can contact my KMS server and gets activated? or I should install the GLVK on my KMS server? Please help!
Can we get how many license are distributed through KMS server.
By powershell or any other way ?
Thanks Brian!! for the article
When i perform this tasks it stuck at 10% tried multiple times restarting server but issue remain same. Please help
Hi and thank you for this post !
Just a question, I have a 2019 KMS with a datacenter license activated and used by datacenter client, can I also activate Standard Edition with the same license key ?
If not, anyway to enable my standard without bying standard licenses in adation to my datacenter ?
And the keys for Windows 10 Home Edition?
It turns out that i’m having error0xC004F074. Is there anyway to figure this out.
What are the server minimum hardware requirements or recommendations to build a KMS server on Win Server 2019? One 2019 server is fine or a redundancy is recommended for 10,000 nodes?
Brian, this was probably the most usable and helpful article on KMS that I’ve found. All of it was helpful, but in particular, the KB update requirements for certain situations and the error code information. Thank you for spending the time to write this… and thanks for updating it recently.
Can the kms host be installed on windows for activating other windows 11 clients?
How do I install the kms host role/feature on windows 11 ?
Very helpful article.
One major detail missing, though.
What happens to the activated client PC at the end of the activation expiry period (eg. as above, 180 days) ?
Does the KMS Server renew its’ certificate or does it just “die in the dust” ?
Comments are closed.