Serveur KMS - Installation et Configuration

Cette documentation décrit l'installation d'un serveur KMS basé sur vlmcsd pour l'activation de produits Microsoft (Windows et Office) en environnement d'entreprise.

Présentation

vlmcsd est un émulateur KMS (Key Management Service) open-source permettant d'activer les produits Microsoft configurés en mode Volume License (VL).

Caractéristique	Valeur
Port par défaut	TCP 1688
Protocole	MS-RPC
Produits supportés	Windows (Vista → 11), Windows Server (2008 → 2025), Office (2010 → 2024)
Seuil d'activation	25 clients (Windows), 5 clients (Office)

<WRAP center round important 80%> Cette solution est destinée aux environnements disposant de licences Volume License légitimes. L'utilisation de clés GVLK nécessite un contrat de licence en volume valide avec Microsoft. </WRAP>

Installation du serveur KMS (Ubuntu/Debian)

One-Line Installer

curl -fsSL https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz | tar xz -C /tmp && cp /tmp/binaries/Linux/intel/static/vlmcsd-x64-musl-static /usr/local/bin/vlmcsd && chmod +x /usr/local/bin/vlmcsd && cat > /etc/systemd/system/vlmcsd.service << 'EOF' [Unit] Description=KMS Server (vlmcsd) After=network.target [Service] Type=simple ExecStart=/usr/local/bin/vlmcsd -D -d -e Restart=on-failure RestartSec=5 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF systemctl daemon-reload && systemctl enable --now vlmcsd && systemctl status vlmcsd

Installation manuelle détaillée

Étape 1 : Téléchargement de vlmcsd

cd /tmp wget https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz tar xzf binaries.tar.gz

Étape 2 : Installation du binaire

# Pour x86_64 (64-bit) cp binaries/Linux/intel/static/vlmcsd-x64-musl-static /usr/local/bin/vlmcsd # Pour ARM64 (Raspberry Pi 4, etc.) # cp binaries/Linux/arm/little-endian/static/vlmcsd-armv7el-uclibc-static /usr/local/bin/vlmcsd chmod +x /usr/local/bin/vlmcsd

Étape 3 : Création du service systemd

cat > /etc/systemd/system/vlmcsd.service << 'EOF' [Unit] Description=KMS Server (vlmcsd) After=network.target [Service] Type=simple ExecStart=/usr/local/bin/vlmcsd -D -d -e Restart=on-failure RestartSec=5 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF

Étape 4 : Activation et démarrage

systemctl daemon-reload systemctl enable vlmcsd systemctl start vlmcsd

Étape 5 : Vérification

systemctl status vlmcsd

Résultat attendu :

● vlmcsd.service - KMS Server (vlmcsd)
Loaded: loaded (/etc/systemd/system/vlmcsd.service; enabled; vendor preset: enabled)
Active: active (running) since ...

Configuration du pare-feu

# UFW ufw allow 1688/tcp # iptables iptables -A INPUT -p tcp --dport 1688 -j ACCEPT

Commandes de gestion

Action	Commande
Voir le statut	systemctl status vlmcsd
Voir les logs	journalctl -u vlmcsd -f
Redémarrer	systemctl restart vlmcsd
Arrêter	systemctl stop vlmcsd
Désactiver au démarrage	systemctl disable vlmcsd

Configuration DNS (optionnel)

Pour permettre la découverte automatique du serveur KMS par les clients, créez un enregistrement SRV dans votre DNS :

_vlmcs._tcp.votredomaine.local. 86400 IN SRV 0 0 1688 kms.votredomaine.local.

Avec cette configuration, les clients trouveront automatiquement le serveur KMS sans configuration manuelle.

Conversion Office Retail vers Volume License

Cette procédure permet de convertir une installation Office 2016/2019/2021 de type Retail (achat unique) vers une licence Volume (KMS).

Prérequis : Les fichiers de licence Volume License doivent être présents sur le système. Si vous avez installé Office depuis une image Retail, ces fichiers peuvent être absents.

Script de conversion automatique

Téléchargez et exécutez le script suivant en tant qu'administrateur :

@echo off setlocal EnableDelayedExpansion :: ============================================================================ :: Office 2016 Professional Plus - Retail to Volume License Converter + KMS :: ============================================================================ :ADMIN openfiles >nul 2>&1 if %errorlevel% neq 0 ( echo Demande d'elevation des privileges... echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs" >nul 2>&1 exit /b ) del /f /q "%temp%\getadmin.vbs" >nul 2>&1 Title Office 2016 Retail to Volume License Converter + KMS Activation color 0A echo. echo ============================================================================ echo Office 2016 Professional Plus - Conversion Retail vers Volume License echo ============================================================================ echo. :: ============================================================================ :: CONFIGURATION - MODIFIEZ CETTE SECTION :: ============================================================================ :: Adresse de votre serveur KMS set "KMS_SERVER=kms.votredomaine.local" :: Port KMS (par defaut 1688) set "KMS_PORT=1688" :: Cle GVLK pour Office 2016 Professional Plus set "GVLK_KEY=XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99" :: ============================================================================ :: DETECTION DU CHEMIN D'INSTALLATION D'OFFICE :: ============================================================================ echo [INFO] Detection de l'installation Office... echo. if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" ( set "OFFICE_PATH=%ProgramFiles%\Microsoft Office\Office16" set "LICENSE_PATH=%ProgramFiles%\Microsoft Office\root\Licenses16" goto :FOUND ) if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" ( set "OFFICE_PATH=%ProgramFiles(x86)%\Microsoft Office\Office16" set "LICENSE_PATH=%ProgramFiles(x86)%\Microsoft Office\root\Licenses16" goto :FOUND ) if exist "%ProgramFiles%\Microsoft Office\root\Office16\ospp.vbs" ( set "OFFICE_PATH=%ProgramFiles%\Microsoft Office\root\Office16" set "LICENSE_PATH=%ProgramFiles%\Microsoft Office\root\Licenses16" goto :FOUND ) if exist "%ProgramFiles(x86)%\Microsoft Office\root\Office16\ospp.vbs" ( set "OFFICE_PATH=%ProgramFiles(x86)%\Microsoft Office\root\Office16" set "LICENSE_PATH=%ProgramFiles(x86)%\Microsoft Office\root\Licenses16" goto :FOUND ) echo [ERREUR] Office 2016 n'a pas ete trouve sur ce systeme. pause exit /b 1 :FOUND echo [OK] Chemin Office: %OFFICE_PATH% echo. :: ============================================================================ :: INSTALLATION DES LICENCES VOLUME :: ============================================================================ echo [ETAPE 1] Installation des licences Volume... cd /d "%OFFICE_PATH%" for %%f in ( ProPlusVL_KMS_Client-ppd.xrm-ms ProPlusVL_KMS_Client-ul.xrm-ms ProPlusVL_KMS_Client-ul-oob.xrm-ms client-issuance-bridge-office.xrm-ms client-issuance-root.xrm-ms client-issuance-root-bridge-test.xrm-ms client-issuance-stil.xrm-ms client-issuance-ul.xrm-ms client-issuance-ul-oob.xrm-ms pkeyconfig-office.xrm-ms ) do ( if exist "%LICENSE_PATH%\%%f" ( cscript //nologo ospp.vbs /inslic:"%LICENSE_PATH%\%%f" >nul ) ) echo [OK] Licences installees. echo. :: ============================================================================ :: SUPPRESSION DES ANCIENNES CLES :: ============================================================================ echo [ETAPE 2] Suppression des anciennes cles... for /f "tokens=2 delims=: " %%a in ('cscript //nologo ospp.vbs /dstatus ^| findstr /i "Last 5"') do ( set "KEY=%%a" if "!KEY:~0,1!" neq " " if "!KEY:~0,1!" neq "" ( echo Suppression: !KEY! cscript //nologo ospp.vbs /unpkey:!KEY! >nul 2>&1 ) ) echo [OK] Anciennes cles supprimees. echo. :: ============================================================================ :: INSTALLATION DE LA CLE GVLK :: ============================================================================ echo [ETAPE 3] Installation de la cle GVLK... cscript //nologo ospp.vbs /inpkey:%GVLK_KEY% echo. :: ============================================================================ :: CONFIGURATION DU SERVEUR KMS :: ============================================================================ echo [ETAPE 4] Configuration du serveur KMS: %KMS_SERVER%:%KMS_PORT% cscript //nologo ospp.vbs /sethst:%KMS_SERVER% cscript //nologo ospp.vbs /setprt:%KMS_PORT% echo. :: ============================================================================ :: ACTIVATION :: ============================================================================ echo [ETAPE 5] Activation... cscript //nologo ospp.vbs /act echo. :: ============================================================================ :: VERIFICATION :: ============================================================================ echo [ETAPE 6] Verification du statut... cscript //nologo ospp.vbs /dstatus echo. echo ============================================================================ echo TERMINE echo ============================================================================ pause exit /b 0

Procédure manuelle

Si le script échoue, exécutez ces commandes manuellement dans une invite de commandes administrateur :

:: Se placer dans le répertoire Office cd /d "C:\Program Files (x86)\Microsoft Office\Office16" :: Installer la clé GVLK cscript ospp.vbs /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99 :: Configurer le serveur KMS cscript ospp.vbs /sethst:kms.votredomaine.local cscript ospp.vbs /setprt:1688 :: Activer cscript ospp.vbs /act :: Vérifier le statut cscript ospp.vbs /dstatus

Clés GVLK (Generic Volume License Keys)

Les clés GVLK sont des clés publiques fournies par Microsoft pour l'activation KMS.

Office 2016

Produit	Clé GVLK
Office Professional Plus 2016	XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99
Office Standard 2016	JNRGM-WHDWX-FJJG3-K47QV-DRTFM
Project Professional 2016	YG9NW-3K39V-2T3HJ-93F3Q-G83KT
Project Standard 2016	GNFHQ-F6YQM-KQDGJ-327XX-KQBVC
Visio Professional 2016	PD3PC-RHNGV-FXJ29-8JK7D-RJRJK
Visio Standard 2016	7WHWN-4T7MP-G96JF-G33KR-W8GF4
Access 2016	GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW
Excel 2016	9C2PK-NWTVB-JMPW8-BFT28-7FTBF
OneNote 2016	DR92N-9HTF2-97XKM-XW2WJ-XW3J6
Outlook 2016	R69KK-NTPKF-7M3Q4-QYBHW-6MT9B
PowerPoint 2016	J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6
Publisher 2016	F47MM-N3XJP-TQXJ9-BP99D-8K837
Skype for Business 2016	869NQ-FJ69K-466HW-QYCP2-DDBV6
Word 2016	WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6

Office 2019

Produit	Clé GVLK
Office Professional Plus 2019	NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP
Office Standard 2019	6NWWJ-YQWMR-QKGCB-6TMB3-9D9HK
Project Professional 2019	B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B
Project Standard 2019	C4F7P-NCP8C-6CQPT-MQHV9-JXD2M
Visio Professional 2019	9BGNQ-K37YR-RQHF2-38RQ3-7VCBB
Visio Standard 2019	7TQNQ-K3YQQ-3PFH7-CCPPM-X4VQ2

Office 2021

Produit	Clé GVLK
Office LTSC Professional Plus 2021	FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH
Office LTSC Standard 2021	KDX7X-BNVR8-TXXGX-4Q7Y8-78VT3
Project Professional 2021	FTNWT-C6WBT-8HMGF-K9PRX-QV9H8
Project Standard 2021	J2JDC-NJCYY-9RGQ4-YXWMH-T3D4T
Visio LTSC Professional 2021	KNH8D-FGHT4-T8RK3-CTDYJ-K2HT4
Visio LTSC Standard 2021	MJVNY-BYWPY-CWV6J-2RKRT-4M8QG

Windows

Produit	Clé GVLK
Windows 11/10 Pro	W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 11/10 Enterprise	NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 11/10 Education	NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows Server 2022 Standard	VDYBN-27WPP-V4HQT-9VMD4-VMK7H
Windows Server 2022 Datacenter	WX4NM-KYWYW-QJJR4-XV3QB-6VM33
Windows Server 2019 Standard	N69G4-B89J2-4G8F4-WWYCC-J464C
Windows Server 2019 Datacenter	WMDGN-G9PQG-XVVXX-R3X43-63DFG

La liste complète des clés GVLK est disponible sur la documentation Microsoft : KMS Client Activation Keys

Dépannage

Erreur 0xC004F074

Description : Le client ne peut pas contacter le serveur KMS.

Causes possibles :

Le serveur KMS n'est pas joignable (réseau/firewall)

Le port TCP 1688 est bloqué

Le serveur KMS n'est pas démarré

Mauvaise adresse du serveur KMS configurée

Diagnostic :

:: Tester la connectivité ping kms.votredomaine.local :: Tester le port 1688 powershell Test-NetConnection -ComputerName kms.votredomaine.local -Port 1688 :: Vérifier la configuration actuelle cscript ospp.vbs /dstatus

Erreur 0x80070005

Description : Accès refusé lors de la configuration du serveur KMS.

Solution : Configurez le serveur KMS via le registre :

:: Pour Office 32-bit sur Windows 64-bit reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Common\Licensing" /v KMSHost /t REG_SZ /d "kms.votredomaine.local" /f :: Pour Office 64-bit reg add "HKLM\SOFTWARE\Microsoft\Office\16.0\Common\Licensing" /v KMSHost /t REG_SZ /d "kms.votredomaine.local" /f

Office reste en mode Retail

Symptôme : La clé GVLK est refusée avec le message “Ce produit n'est pas un produit KMS”.

Cause : Les fichiers de licence Volume ne sont pas installés.

Solution : Exécutez le script de conversion complet ou installez manuellement les licences :

cd /d "C:\Program Files (x86)\Microsoft Office\Office16" cscript ospp.vbs /inslic:"C:\Program Files (x86)\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ppd.xrm-ms" cscript ospp.vbs /inslic:"C:\Program Files (x86)\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul.xrm-ms" cscript ospp.vbs /inslic:"C:\Program Files (x86)\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul-oob.xrm-ms"

Vérifier les logs du serveur KMS

journalctl -u vlmcsd -f

Commandes ospp.vbs utiles

Commande	Description
cscript ospp.vbs /dstatus	Affiche le statut de la licence
cscript ospp.vbs /act	Force l'activation
cscript ospp.vbs /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX	Installe une clé de produit
cscript ospp.vbs /unpkey:XXXXX	Supprime une clé (5 derniers caractères)
cscript ospp.vbs /sethst:serveur	Configure le serveur KMS
cscript ospp.vbs /setprt:port	Configure le port KMS
cscript ospp.vbs /remhst	Supprime le serveur KMS configuré
cscript ospp.vbs /dhistorykms	Affiche l'historique des activations KMS
cscript ospp.vbs /inslic:fichier.xrm-ms	Installe un fichier de licence

Références

vlmcsd sur GitHub

Microsoft - Clés GVLK

Microsoft - Activation Volume Office

Dernière mise à jour : Février 2026