If you’ve installed your Windows with an MAK product key and now want to change it to KMS or installed a clean OS (never activated), and need to activate your Windows copy on the corporate KMS server, this guide will definitely help you.
Microsoft offers two ways of Windows and MS Office copies activation for corporate customers under volume license program. They can use MAK and KMS keys for activation.
- MAK (Multiple Activation Keys)—a MAK license is similar to a Retail (box) license, but allows you to activate several copies of the Windows operating system 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). A Windows copy with the MAK key installed must be activated via the Internet or by phone;
- KMS (Key Management Service)—this is an activation type for enterprise customers. The KMS activation server allows you to activate corporate versions of Windows operating systems and Microsoft Office products within the enterprise network. The KMS infrastructure is very simple: just 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 (this operation is performed only once). After that your enterprise KMS clients can send activation requests to the KMS server and activate on 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 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. Just install a new server, install KMS role, enter the KMS host key, activate—and everything is ready to go!;
- In the AD domain instead of KMS activation, you can use its version optimized for Active Directory—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
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 using PowerShell (but you can install Volume Activation Services role through the Server Manager console).
- Run the PowerShell console as administrator and execute the command:
Install-WindowsFeature -Name VolumeActivation -IncludeAllSubFeature –Include ManagementTools
- If your Windows Defender Firewall with Advanced Security service is enabled, in order for the KMS client to contact KMS server, you need to open incoming connections on TCP port 1688. 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 Offices copies in the enterprise network.
- Now you can configure KMS clients to activate on your KMS server.
Please note that 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 the 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
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 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 editions, this key is unique. To replace an existing product key, run the command prompt as an administrator on the computer you are want to activate and type:
slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
(XXXXX is GVLK key for your Windows edition from the table below)
In our case, we want to activate Windows 10 Enterprise LTSC 2019 on a KMS server. The KMS Client key installation command will look like this:
slmgr.vbs /ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D
- 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 KMS server discovery 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
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 Windows with the KMS server, run the command:
And wait until message Product activated successfully appeared.
- 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_KMS\CLIENT channel;
- License status – licensed;
- Volume activation expirations – 180 days;
- KMS server IP address and DNS name.
Most Common KMS Activation Errors
Most often users facing the following errors when trying to activate Windows with KMS server:
- 0xC004F074 — 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 server);
- 0xC004F038 — You did not have the necessary number of activation request on the KMS server (for desktop Windows edition the minimum number of KMS clients – 25, for Windows Server – 5)
- 0xC004F015 — you can see this error when you try to activate Windows 10/Server 2016/2019 on old KMS server 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.
- Unable to reach Windows activation servers (http://rmncha.in/?big=unable-to-reach-windows-activation-servers/).
Windows Public GVLK Keys
Below are the collection of the public KMS Client license keys (GVLK) from Microsoft for all supported Windows versions. All these keys are taken from the official Microsoft site, where they are publicly available. They are pretty hard to find using the Microsoft website
Update (2019-05-04): Added GVLK keys for the Windows Server 2019 and Windows 10 LTSC editions).
|Operating system version||KMS Client License Key|
|Windows Server 2019|
|Windows Server 2019 Datacenter||WMDGN-G9PQG-XVVXX-R3X43-63DFG|
|Windows Server 2019 Standard||N69G4-B89J2-4G8F4-WWYCC-J464C|
|Windows Server 2019 Essentials||WVDHN-86M7X-466P6-VHXV7-YY726|
|Windows 10 LTSC 2019|
|Windows 10 Enterprise LTSC 2019||M7XTQ-FN8P6-TTKYV-9D4CC-J462D|
|Windows 10 Enterprise N LTSC 2019||92NFX-8DJQP-P6BBQ-THF9C-7CG2H|
|Windows Server 2016|
|Windows Server 2016 Datacenter||CB7KF-BWN84-R7R2Y-793K2-8XDDG|
|Windows Server 2016 Standard||WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY|
|Windows Server 2016 Essentials||JCKRF-N37P4-C2D82-9YXRT-4M63B|
|Windows 10 Professional||W269N-WFGWX-YVC9B-4J6C9-T83GX|
|Windows 10 Professional N||MH37W-N47XK-V7XM9-C7227-GCQG9|
|Windows 10 Enterprise||NPPR9-FWDCX-D2C8J-H872K-2YT43|
|Windows 10 Enterprise N||DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4|
|Windows 10 Education||NW6C2-QMPVW-D7KKK-3GKT6-VCFB2|
|Windows 10 Education N||2WH4N-8QGBV-H22JP-CT43Q-MDWWJ|
|Windows 10 Enterprise 2015 LTSB||WNMTR-4C88C-JK8YV-HQ7T2-76DF9|
|Windows 10 Enterprise 2015 LTSB N||2F77B-TNFGY-69QQF-B8YKP-D69TJ|
|Windows 10 Enterprise 2016 LTSB||DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ|
|Windows 10 Enterprise 2016 LTSB N||QFFDN-GRT3P-VKWWX-X7T3R-8B639|
|Windows Server 2012 R2|
|Windows Server 2012 R2 Standard||D2N9P-3P6X9-2R39C-7RTCD-MDVJX|
|Windows Server 2012 R2 Datacenter||W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9|
|Windows Server 2012 R2 Essentials||KNC87-3J2TX-XB4WP-VCPJV-M4FWM|
|Windows 8.1 Professional||GCRJD-8NW9H-F2CDX-CCM8D-9D6T9|
|Windows 8.1 Professional N||HMCNV-VVBFX-7HMBH-CTY9B-B4FXY|
|Windows 8.1 Enterprise||MHF9N-XY6XB-WVXMC-BTDCT-MKKG7|
|Windows 8.1 Enterprise N||TT4HM-HN7YT-62K67-RGRQJ-JFFXW|
|Windows Server 2012|
|Windows Server 2012 Core||BN3D2-R7TKB-3YPBD-8DRP2-27GG4|
|Windows Server 2012 Core N||8N2M2-HWPGY-7PGT9-HGDD8-GVGGY|
|Windows Server 2012 Core Single Language||2WN2H-YGCQR-KFX6K-CD6TF-84YXQ|
|Windows Server 2012 Core Country Specific||4K36P-JN4VD-GDC6V-KDT89-DYFKP|
|Windows Server 2012 Server Standard||XC9B7-NBPP2-83J2H-RHMBY-92BT4|
|Windows Server 2012 Standard Core||XC9B7-NBPP2-83J2H-RHMBY-92BT4|
|Windows Server 2012 MultiPoint Standard||HM7DN-YVMH3-46JC3-XYTG7-CYQJJ|
|Windows Server 2012 MultiPoint Premium||XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G|
|Windows Server 2012 Datacenter||48HP8-DN98B-MYWDG-T2DCC-8W83P|
|Windows Server 2012 Datacenter Core||48HP8-DN98B-MYWDG-T2DCC-8W83P|
|Windows 8 Professional||NG4HW-VH26C-733KW-K6F98-J8CK4|
|Windows 8 Professional N||XCVCF-2NXM9-723PB-MHCB7-2RYQQ|
|Windows 8 Enterprise||32JNW-9KQ84-P47T8-D8GGY-CWCK7|
|Windows 8 Enterprise N||JMNMF-RHW7P-DMY6X-RF3DR-X2BQT|
|Windows Server 2008 R2|
|Windows Server 2008 R2 HPC Edition||FKJQ8-TMCVP-FRMR7-4WR42-3JCD7|
|Windows Server 2008 R2 Datacenter||74YFP-3QFB3-KQT8W-PMXWJ-7M648|
|Windows Server 2008 R2 Enterprise||489J6-VHDMP-X63PK-3K798-CPX3Y|
|Windows Server 2008 R2 for Itanium-Based Systems||GT63C-RJFQ3-4GMB6-BRFB9-CB83V|
|Windows Server 2008 R2 Standard||YC6KT-GKW9T-YTKYR-T4X34-R7VHC|
|Windows Web Server 2008 R2||6TPJF-RBVHG-WBW2R-86QPH-6RTM4|
|Windows Server 2008|
|Windows Server 2008 Datacenter||7M67G-PC374-GR742-YH8V4-TCBY3|
|Windows Server 2008 Datacenter without Hyper-V||22XQ2-VRXRG-P8D42-K34TD-G3QQC|
|Windows Server 2008 for Itanium-Based Systems||4DWFP-JF3DJ-B7DTH-78FJB-PDRHK|
|Windows Server 2008 Enterprise||YQGMW-MPWTJ-34KDK-48M3W-X4Q6V|
|Windows Server 2008 Enterprise without Hyper-V||39BXF-X8Q23-P2WWT-38T2F-G3FPG|
|Windows Server 2008 Standard||TM24T-X9RMF-VWXK6-X8JC9-BFGM2|
|Windows Server 2008 Standard without Hyper-V||W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ|
|Windows Web Server 2008||WYR28-R7TFJ-3X2YQ-YCY4H-M249D|
|Windows 7 Professional||FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4|
|Windows 7 Professional N||MRPKT-YTG23-K7D7T-X2JMM-QY7MG|
|Windows 7 Enterprise||33PXH-7Y6KF-2VJC9-XBBR8-HVTHH|
|Windows 7 Enterprise N||YDRBP-3D83W-TY26F-D46B2-XCKRJ|
|Windows 7 Enterprise E||C29WB-22CC8-VJ326-GHFJW-H9DH4|
|Windows Vista Business||YFKBB-PQJJV-G996G-VWGXY-2V3X8|
|Windows Vista Business N||HMBQG-8H2RH-C77VX-27R82-VMQBT|
|Windows Vista Enterprise||VKK3X-68KWM-X2YGT-QR4M6-4BWMV|
|Windows Vista Enterprise N||VTC42-BM838-43QHV-84HX6-XJXKV|
After installing the GVLK key, the Windows tries to either directly connect to the specified KMS server, or find a DNS SRV record that points to the KMS server, and then performs the activation.