KMS expliqué d’une autre façon (mis à jour)
KMS, ou Key Management System, est un service permettant de répondre aux demandes d’activation des systèmes Windows Vista et Windows Server 2008 sans spécifier de clé au niveau des machines “clientes” ni avoir besoin de contacter les services d’activation de Microsoft sur Internet.
Ce mécanisme permet de centraliser la gestion de l’activation de ces deux systèmes d’exploitation en exposant le moins possible ces clés (pas de diffusion dans un master, pas de clé transmise à des milliers de personnes, …).
Principe de fonctionnement de KMS
En bleu, la séquence d’activation du service KMS et en orange, la séquence d’activation d’un client KMS :
Installation :
Sur un hôte Windows Server 2003, après l’installation du service KMS, la clé KMS doit être spécifiée. Sur un hôte Windows Server 2008 ou Windows Vista, la fourniture de la clé KMS active le service KMS (il n’est pas nécessaire de l’installer car il est déjà présent).
Le service KMS contacte les services d’activation Microsoft sur internet (Microsoft Hosted Activation Services). Cette opération n’est réalisée qu’une seule fois. Aucun autre contact avec les services de Microsoft n’intervient par la suite sauf en cas d’ajout d’une autre clé KMS ou de renouvellement.
Par défaut, le service KMS tente de créer un enregistrement SRV dans DNS. Ceci permet aux clients de le trouver facilement.
Processus d’activation :
Après l’installation de la machine, le service Software Licensing tente de contacter l’hôte KMS. Tout d’abord, ce service vérifie dans la base de registre locale si un hôt KMS est spécifié. Si c’est le cas, nous passons à la seconde étape. Si ce n’est pas le cas, le service tente d’identifier l’hôte KMS en effectuant une requête DNS.
Le client forme sa demande d’activation en créant son Client Machine ID puis en signant sa requête (avec de l’encryption AES) et l’envoie à l’hôte KMS en TCP sur le port 1688 (le port utilisé par KMS peut être modifié).
Cette requête est réémise toute les deux heures en cas d’échec (dans le cas d’une machine en période de grace) ou tous les sept jours (pour une machine déjà activée via KMS).Après avoir reçu la requête d’activation, l’hôte KMS ajoute le CMID (Client Machine ID) à sa table.
A noter que seuls les 50 derniers clients ayant demandés une activation sont présents dans cette table. Ceci permet à l’hôte KMS de s’assurer de son bon fonctionnement.L’hôte KMS renvoie au client le décompte d’activations (le nombre de demande d’activation déjà effectuées).
A la réception de la réponse, le client évalue le décompte d’activations et la compare à la stratégie de license (voir plus bas cet aspect). Si le décompte a dépassé le nombre minimal de demandes d’activation, le client s’active et stocke le Product ID de l’hôte KMS, les fréquences d’activation et le Client Hardware ID.
Notion de décompte d’activation : pour qu’un hôte KMS commence à délivrer des activations aux clients qui les demandent, il est nécessaire qu’au moins 25 systèmes physiques Windows Vista ou 5 systèmes physiques Windows Server 2008 aient fait la demande. Les machines virtuelles ne sont pas comprises dans ce décompte.
Une fois atteint ce compteur, les machines qui réclament une activation pourront être activées.
Quelques exemples de décomptes :
Windows Server 2008 |
Windows Vista |
Hôte KMS |
Décompte d’activation sur l’hôte KMS |
Disponibilité de l’activation KMS |
4 |
1 |
1 |
5 |
Uniquement pour les systèmes Windows Server 2008 |
1 |
4 |
1 |
5 |
Uniquement pour les systèmes Windows Server 2008 |
1 |
1 |
1 |
2 |
Aucun système |
4 |
22 |
1 |
26 |
Windows Vista et Windows Server 2008 |
Pour ce qui concerne le cycle d’activation des clients, le voici :
OOB = Out-of-Box
OOT = Out-of-Tolerance
Mode dégradé = remplace le mode RFM (Reduced Functionality Mode) sur les machines Windows Vista SP1 et Windows Server 2008. Si une machine atteint l’état de mode dégradé, l’utilisation du système reste toujours possible, seuls des notifications serint affichées pour rappeler l’état non activé de la machine.
Les systèmes concernés
Les systèmes d’exploitation pouvant être activés via KMS sont les suivants (achetés en mode License en Volume) :
- Windows Vista Professionnel (Business Edition)
- Windows Vista Enterprise (Enterprise Edition)
- Toutes les éditions de Windows Server 2008
Afin de simplifier la gestion des clés KMS, plusieurs types de clés KMS sont disponibles. Les clés sont regroupées en quatre groupes, représentés ci-dessous :
- Clés Client Volume License : permet d’activer uniquement des machines Windows Vista Enterprise et Professionnel
- Clés Groupe A : permet d’activer des machines Windows Server 2008 Web Edition et les produits du groupe Client Volume License
- Clés Groupe B : permet d’activer des machines Windows Server 2008 Enterprise et Standard Edition et les produits du groupe Client Volume License et du Groupe A
- Clés Groupe C : permet d’activer des machines Windows Server 2008 DataCenter Edition et les produits du groupe Client Volume License, du Groupe A et du Groupe B
Groupe de clés |
Clé KMS |
Hébergement du service KMS |
Produits activables |
Vista Client Volume License | KMS |
|
|
Groupe A | KMS_A |
|
|
Groupe B | KMS_B |
|
|
Groupe C | KMS_C |
|
|
KMS pas à pas
Les étapes pour mettre en œuvre un serveur KMS sont les suivantes :
Note : la plupart des commandes exécutées avec slmgr.vbs requièrent l’exécution depuis un prompt CMD en mode privilégié.
Installation du service KMS
Si le service KMS doit être hébergé sur un serveur Windows Server 2003, télécharger le programme d’installation :
Service Gestionnaire de clés 1.1 (x86) pour Windows Server 2003 SP1 et versions ultérieures
Service Gestionnaire de clés 1.1 (x64) pour Windows Server 2003 SP1 et versions ultérieures
Activation du service KMS
Exécuter la ligne de commande : cscript %WINDIR%\System32\slmgr.vbs –ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXX (où XXXXX-XXXXX-XXXXX-XXXXX-XXXX est la clé KMS)
Pour que cette commande fonctionne sur un serveur Windows Server 2008, il faut utiliser une clé KMS appartenant au groupe de licences correspondant au serveur (voir plus bas les groupes de licences). L’utilisation d’une clé KMS pour Windows Vista avec slmgr.vbs retourne le code d’erreur 0xC004F015
Sur un serveur Windows Server 2008 ou Windows Vista, cette commande active le service KMS
Si le serveur hébergeant le service KMS a accès à internet, exécuter la ligne de commande : cscript %WINDIR%\System32\slmgr.vbs –ato
Si le serveur KMS ne dispose pas d’un accès à internet, exécuter la ligne de commande : slui.exe 4 et suivre les instructions affichées à l’écran qui consistent à appeler le centre d’activation Microsoft et écouter la voix mélodieuse de l’automate.
Cette étape prend quelques minutes le temps de donner l’identifiant d’installation et de rentrer ensuite l’identifiant de confirmation :
Redémarrer le service Software Licensing Service
Une fois le serveur KMS opérationnel, les clients peuvent commencer à demander une activation. On peut donc attendre que le cycle par défaut s’en charge ou alors forcer ces demandes en exécutant la ligne de commande suivante sur les clients : cscript %WINDIR%\System32\slmgr.vbs –ato.
Il est possible de vérifier le statut du serveur KMS en exécutant sur l’hôte KMS la ligne de commande suivante : cscript %WINDIR%\System32\slmgr.vbs –dlv (ou –dli pour un résultat moins verbeux)
On voit ici que le serveur est activé (License Status : Licensed), que le service KMS est actif (Key Management Service is enabled on this machine) mais que le décompte d’activation est à 0 ce qui veut dire qu’aucune machine n’a encore demandé d’activation.
Vous comprendrez maintenant qu’il ne faut pas spécifier de clé KMS lors de l’installation (ou même après) des autres machines de l’environnement !
Du côté client, si l’on force une demande d’activation, on obtient ceci :
Retour du côté serveur où nous avons deux requêtes d’activation qui ont été reçues et un décompte d’activation à 1 (la même machine a effectué 2 requêtes), il nous en faut 5 émanant de machines Windows Server 2008 ou 25 émanant de machines Windows Vista :
Lorsque le décompte d’activation atteind le seuil requis, la prochaine requête d’activation devrait donner ceci :
Et du côté serveur :
Où on voit deux machines ayant reçu une activation.
Options de configuration
- Pour désactiver la publication automatique du service KMS dans DNS, créer la clé de registre suivante sur l’hôte KMS avant son activation :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL
Nom : DisableDnsPublishing
Type : REG_DWORD
Valeur : 1
- Pour créer manuellement l’enregistrement SRV pour le service KMS dans un DNS Microsoft :
Depuis la console DNS, sélectionner la zone DNS où l’enregistrement doit être créé puis “Click droit | Nouveaux enregistrements”
Sélectionner l’enregistrement de de type “Emplacement du service (SRV)” et cliquer sur “Créer un enregistrement”
Spécifier les informations suivantes :
Service: _VLMCS
Protocole: _TCP
Port: 1688
Hôte offrant ce service: <FQDN_hôte_KMS>
- Pour spécifier le serveur KMS qui doit être utilisé sur les clients, exécuter la ligne de commande cscript %WINDIR%\System32\slmgr.vbs /skms <KMS_FQDN>:<port> (ou l’adresse IP ou le nom NetBIOS de l’hôte KMS).
- Pour réactiver la détection automatique de l’hôte KMS sur un client , exécuter la ligne de commande cscript %WINDIR%\System32\slmgr.vbs /ckms
- Pour modifier le port utilisé par défaut (1688) par le service KMS, créer la clé de registre suivante sur l’hôte KMS et sur les clients KMS :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL
Nom : KeyManagementServicePort
Type : REG_SZ
Valeur : <port>
Pour modifier l’intervalle de tentative de première activation par défaut (2 heures), modifier la clé de registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL
Nom : VLActivationInterval
Type : REG_DWORD
Valeur : nombre de minutes (2 heures = 120 minutes)
Pour modifier l’intervalle de renouvellement de l’activation par défaut (7 jours), modifier la clé de registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SL
Nom : VLRenewalInterval
Type : REG_DWORD
Valeur : nombre de minutes (7 jours = 10080 minutes)
D’autres options de configuration sont disponibles dans le guide Volume Activation 2.0.
Ce qu’il peut être utile de savoir
Lorsque l’on installe une version de Windows Vista ou Windows Server 2008 depuis un média Volume License, le setup ne demande pas de clé d’activation. Ce comportement est expliqué par le fait qu’une clé temporaire est utilisée pendant l’installation. Cette clé est disponible dans le fichier .\Sources\pid.txt du média d’installation.
Cette clé, appelée “KMS Client Setup Key”, dépend de l’édition et du système d’exploitation en cours d’installation :
Système d’exploitation
Clé produit
Windows Vista Business YFKBB-PQJJV-G996G-VWGXY-2V3X8 Windows Vista Business N HMBQG-8H2RH-C77VX-27R82-VMQBT Windows Vista Enterprise VKK3X-68KWM-X2YGT-QR4M6-4BWMV Windows Vista Enterprise N VTC42-BM838-43QHV-84HX6-XJXKV Windows Server 2008 Datacenter 7M67G-PC374-GR742-YH8V4-TCBY3 Windows Server 2008 Datacenter without Hyper-V 22XQ2-VRXRG-P8D42-K34TD-G3QQC Windows Server 2008 for Itanium-Based Systems 4DWFP-JF3DJ-B7DTH-78FJB-PDRHK Windows Server 2008 Enterprise YQGMW-MPWTJ-34KDK-48M3W-X4Q6V Windows Server 2008 Enterprise without Hyper-V 39BXF-X8Q23-P2WWT-38T2F-G3FPG Windows Server 2008 Standard TM24T-X9RMF-VWXK6-X8JC9-BFGM2 Windows Server 2008 Standard without Hyper-V W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ Windows Web Server 2008 WYR28-R7TFJ-3X2YQ-YCY4H-M249D
Il est tout à fait possible de changer le type d’activation d’une machine. On peut passer d’une activation KMS à une activation MAK ou inversement.
Un exemple est représenté par le cas d’un administrateur ayant utilisé une clé KMS sur plusieurs serveurs Windows Server 2008, pensant que cette clé correspondait à la clé habituellement utilisée lors de l’installation de machines sous Windows XP ou Windows Server 2003. En faisant cela, chaque serveur Windows Server 2008 s’est vu activer le service KMS et potentiellement le nombre maximum d’activation de la clé KMS a pu être atteind et donc compromettre la clé KMS.
Dans ce cas, l’administrateur peut exécuter la ligne de commande %WINDIR%\System32\slmgr.vbs –ipk TM24T-X9RMF-VWXK6-X8JC9-BFGM2 (en rapport avec le tableau précédent) pour repasser tous les serveurs (sauf l’hôte KMS) en période de grâce initiale.
En exécutant ensuite la ligne de commande %WINDIR%\System32\slmgr.vbs –ato, les serveurs contacteront l’hôte KMS pour s’activer.
Pour la création de masters, il existe une fonctionnalité permettant de réarmer l’activation pour éviter qu’un master créé en janvier soit hors de la période de tolérance lors de son déploiement en décembre.
Pour réarmer l’activation, il suffit d’exécuter sysprep.exe /generalize puis de capturer l’image du système.
On peut réarmer toutes les versions de Windows Vista et de Windows Server 2008 3 fois à l’exception des versions Entreprise de Windows Vista et Windows Server 2008 pour lesquelles il est possible de réarmer jusqu’à 5 fois.Pour afficher la description d’un code d’erreur, exécuter la ligne de commande Slui.exe 0x2a ErrorCode
Ressources
Volume Activation 2.0 Technical Guidance (en Anglais)
Guides techniques de Volume Activation 2.0 (en Français)
Product Activation for Windows Vista and Windows Server 2008 (en Anglais)
Windows Server 2008 KMS Setup Demonstration (en Anglais)
Using Server Isolation to Protect the Key Management Service (KMS) (en Anglais)
Volume Activation 2.0 for Windows Vista and Windows Server 2008 (TechNet, en Anglais)
Volume Activation 2.0 pour Windows Vista et Windows Server 2008 (TechNet, en Français)
Guide de l’activation en volume (TechNet, en Français)
Informations sur l'activation du volume pour Windows Vista
Comment résoudre les codes d'erreur de l’activation en volume sur Windows Vista
Guillaume
Windows Core Support Escalation Engineer
Comments
Anonymous
January 01, 2003
-> geo62 Quel problème exact rencontrez-vous lors de l'activation de votre clé ?Anonymous
January 01, 2003
Excellent article de l'equipe support Windows, un must à ne pa manquer !! KMS, ou Key Management System,Anonymous
November 05, 2008
Superbe article, très clair, et bien illustré.Anonymous
August 28, 2009
Bonjour, avez vous une idée pour activé windows 7 car mon serveur KMS refuse l'activation.Anonymous
August 10, 2015
Oui, excellent article. merci bcp