====== 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) |
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.
----
===== 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 : [[https://docs.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys|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 =====
* [[https://github.com/Wind4/vlmcsd|vlmcsd sur GitHub]]
* [[https://docs.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys|Microsoft - Clés GVLK]]
* [[https://docs.microsoft.com/en-us/deployoffice/vlactivation/tools-to-manage-volume-activation-of-office|Microsoft - Activation Volume Office]]
----
//Dernière mise à jour : Février 2026//