====== 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//