KMS server inside Docker to activate Windows VMs
To get Windows activated on VMs is complicated due to the hardware change etc… One way to activate it without difficulty is to use KMSPico.
KMSPico work by emulating a Windows KMS server. You set the system to use the KMSPico as KMS server, you set a volume license and Windows get activated. Every once in a while, windows try to connect the KMS server and verify the license. You get it activated for up to 180 days.
I don’t really want to run KMSPico as KMS server, it’s a Windows binary, it’s detected by AVs and getting a clean version is complicated.
There is other open source implementation, I choose to use py-kms, and they even provide a Docker build to be run.
I just had to add it to one of my server running Docker
docker run -d --name py-kms --restart always -p 1688:1688 pykmsorg/py-kms
They have a good documentation and a list of volume license ready to be used
To activate Windows 10
cscript //nologo slmgr.vbs /upk
cscript //nologo slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
cscript //nologo slmgr.vbs /skms 192.168.10.2:1688
cscript //nologo slmgr.vbs /ato
cscript //nologo slmgr.vbs /ato
cscript //nologo slmgr.vbs /dlv
/upk
is to remove all the KMS configuration/ipk
set the license/skms
set the KMS server IP/ato
run the activation, normally you have to run it twice/dlv
show current license information