vlmcsd - a guide to KMS activation using vlmcsd
vlmcsd [ options ]
This manual describes the concepts of Microsoft KMS activation using vlmcsd. For detailed usage of vlmcsd see vlmcsd(8).
What is
KMS?
KMS is a way to activate Microsoft products that was
designed for medium and large businesses. In a standard SOHO
environment you enter a product key during installation and
then activate your product over the Internet. This is done
by sending a request to a server at microsoft.com which then
either grants or refuses activation.
By entering a special key called General Volume License Key (GVLK), a.k.a "KMS client key", the product no longer asks the Microsoft server for activation but a user-defined server (called the KMS server) which usually resides in a company’s intranet. vlmcsd is an independent open source implementation of a KMS server that is available for everyone while Microsoft gives their KMS server only to corporations that signed a so called "Select contract". In addition vlmcsd never refuses activation while the Microsoft KMS server only activates the products the customer has paid for.
Product activation using vlmcsd is performed in three easy steps:
1) |
Run vlmcsd (or any other KMS emulator) on a computer in your network. This will be your KMS server. New users should simply run the program without any parameters. The defaults should fit the needs of most users. | ||
2) |
Install your product and enter the GVLK when you are asked for a key | ||
3) |
Configure your client (the machine where you installed your product) to use your KMS server. |
However, when it comes to the details, some things turn out to be more difficult than you might think.
The most important thing to know is that KMS activation is not permanent. The computer remains activated for 180 days (30 or 45 days with consumer-only products). KMS activation however is not an evaluation license. You can repeat the activation anytime and as often as you like to extend activation to another 180 days. This normally happens automatically. For this to work, you have to ensure that a KMS server is always reachable for the clients on your network.
Beginning with Windows 8.1 the KMS server must be a different computer than the client. You cannot use vlmcsd on the same computer where you want to activate a product. If you have only one computer, you can run vlmcsd in a virtual machine. vlmcsd is also designed to run on "always-on devices", for example a router. The router becomes your KMS server then.
How to get a
GVLK?
That is relatively simple. The GVLKs are published on
Microsoft’s Technet web site.
Windows:
http://technet.microsoft.com/en-us/library/jj612867.aspx
Office 2010:
http://technet.microsoft.com/en-us/library/ee624355(v=office.14).aspx#section2_3
Office 2013:
http://technet.microsoft.com/en-us/library/dn385360.aspx
These lists only include products that Microsoft sells to corporations via volume license contracts. For Windows there are inofficial GVLKs that work with consumer-only versions of Windows. Here is a list:
TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
- Windows 10 Home
3KHY7-WNT83-DGQKR-F7HPR-844BM - Windows 10 Home N
7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH - Windows 10 Home Single
Language
PVMJN-6DFY6-9CCP6-7BKTT-D3WVR - Windows 10 Home Country
Specific
789NJ-TQK6T-6XTH8-J39CJ-J8D3P - Windows 8.1 Professional
with Media Center
M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK - Windows 8.1 Core
7B9N3-D94CG-YTVHR-QBPX3-RJP64 - Windows 8.1 Core N
BB6NG-PQ82V-VRDPW-8XVD2-V8P66 - Windows 8.1 Core Single
Language
NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 - Windows 8.1 Core Country
Specific
GNBB8-YVD74-QJHX6-27H4K-8QHDG - Windows 8 Professional with
Media Center
BN3D2-R7TKB-3YPBD-8DRP2-27GG4 - Windows 8 Core
8N2M2-HWPGY-7PGT9-HGDD8-GVGGY - Windows 8 Core N
2WN2H-YGCQR-KFX6K-CD6TF-84YXQ - Windows 8 Core Single
Language
4K36P-JN4VD-GDC6V-KDT89-DYFKP - Windows 8 Core Country
Specific
The above keys require activation renewal every 45 days (Win 8.1) or 30 days (Win 8). All GVLKs from the Microsoft Technet web site require renewal every 180 days.
What are
SLMGR and OSPP and how to use them?
You will need these utilities later. So please continue
reading this section.
These are two Visual Basic script utilities that are used to control Microsoft’s Software Protection system. To use them open a Windows Command Prompt. slmgr.vbs is for Windows. ospp.vbs is for Office 2010 and 2013. These utilities are installed with Windows and Office and you don’t need to download them.
slmgr.vbs resides in the system32 directory. So you just have to type "slmgr" in the Windows Command prompt to use it. To use ospp.vbs you’ll have to change the current directory to your Office installation. This is usually something like "C:\Program Files\Microsoft Office\Office14". You may type "slmgr" or "cscript ospp.vbs" without parameters to see help for these commands but this produces some rather confusing output for newbies.
How to get
the GVLK into the product?
Normally every product asks you to enter a key during
installation. At this time simply enter the GVLK. If you
skipped this step or entered some other key which later
turned out to be non-working, you can use
"slmgr /ipk GVLK" (Windows) or
"cscript ospp.vbs /inpkey:GVLK"
(Office) at any time.
Examples
slmgr /ipk
GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
cscript
ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT
Why
doesn’t Office accpet a GVLK?
You’ll have to install a volume license (VL) version
of Office. Office versions downloaded from MSDN and/or
Technet are non-VL.
How to
configure a client to use a KMS server?
After you have installed a GVLK you can set your product to
use your KMS server. vlmcsd or another KMS server
must already be running on your server machine.
Windows
Type
"slmgr /skms kms-server[:tcp-port]".
Example: "slmgr /skms 192.168.1.17:1688"
Office
1) |
Type "cscript ospp.vbs /sethst:kms-server". Example "cscript ospp.vbs /sethst:192.168.1.17" | ||
2) |
Type "cscript ospp.vbs /setprt:tcp-port". Example: cscript ospp.vbs /setprt:1688 |
tcp-port is usually 1688 unless you instructed vlmcsd to use a different port which is rarely necessary.
How to
activate my product?
If you have installed a product with GVLK and pointed it to
working KMS server like vlmcsd, activation occurs
automatically. This may take a while.
You may type
slmgr /ato
-or-
cscript ospp.vbs /act
at any time to speed up that process. You may repeat these commands later to extend your activation for another 180 (45) days.
Does vlmcsd
work correctly?
If something does not work, it may have the cause that
vlmcsd does not work correctly although this is unlikely.
You can test this with the KMS client vlmcs(1). First
type "vlmcs" on the same machine where you started
vlmcsd. If things are ok, you should see something
like this:
Connecting to
127.0.0.1:1688 ... successful
Sending activation request (KMS V4) 1 of 1 ->
06401-00206-296-206344-03-5179-9600.0000-3432013
If anything goes wrong, you’ll see an error message. Next try "vlmcs kms-server" from another machine where kms-server is the hostname or IP address of your KMS server. If that fails while it works locally, you’ll most likely have to configure your firewall that it accepts incoming connections on TCP port 1688.
Is there an
easier way than using OSPP and SLMGR?
Yes and no. KMS activation was designed for large
corporations. Thus Microsoft designed KMS in a way that
corporations can configure their network infrastructure to
fully automate KMS activation. Since this involves DHCP and
DNS, it is not that easy to accomplish that for home users.
However, if you are using an open source router firmware
like OpenWRT or DD-WRT, it is easy to customize DHCP and
DNS.
1) |
Configure DHCP that it assigns a DNS domain name to your clients (if it doesn’t already), e.g. my-home-net.local | ||
2) |
Create zone my-home-net.local in your DNS server (if it doesn’t exist already). | ||
3) |
Add the following records to your DNS |
_vlmcs._tcp.my-home-net.local.
10800 IN SRV 100 100 kms1.my-home-net.local.
kms1.my-home-net.local. 10800 IN A 192.168.1.17
Replace 192.168.1.17 with the IP address of your KMS server. If you don’t like a cache time of 10800 seconds (3 hours), replace it with another number.
This causes that clients will find the KMS server automatically.
This manual page was written by Hotbird64.
vlmcsd(8), vlmcs(1)