Outils pour utilisateurs

Outils du site


vlmcsd

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 :

Office2016_RetailToVL_KMS.cmd
@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.txt · Dernière modification : de inc002