Share via


Erreur 0xC004F074 « Aucun service de gestion des clés (KMS) n’a pu être contacté »

Cet article explique comment résoudre l’erreur 0xC004F074 qui se produit lorsque vous essayez d’activer une machine virtuelle Windows dans Microsoft Azure.

Configuration requise

Symptômes

Lorsque vous essayez d’activer une machine virtuelle Windows Azure, vous rencontrez le message d’erreur suivant dans l’hôte de script Windows :

Erreur : 0xC004F074 Le service de gestion des licences logicielles a signalé que l’ordinateur n’a pas pu être activé. Aucun service de gestion des clés (KMS) n’a pu être contacté. Veuillez consulter le journal des événements d’application pour plus d’informations.

Cause

La machine virtuelle ne peut pas se connecter au service KMS pour l’activation. Si un service KmS Azure est utilisé pour l’activation (sélection par défaut), la demande d’activation doit provenir d’une adresse IP publique Azure. Les causes possibles de cet échec de connectivité sont les suivantes :

  • Tunneling forcé, dans lequel tout le trafic est acheminé en dehors d’Azure (généralement vers un environnement local) à l’aide d’Azure ExpressRoute ou d’un réseau virtuel Appliance

  • Trafic bloqué par un Appliance virtuel réseau ou un équilibreur de charge interne standard

Enquête

Pour déterminer la cause spécifique du problème, suivez la procédure en trois parties dans les sections suivantes.

Partie 1 : Configurer la clé d’installation du client KMS appropriée

Remarque

Cette partie n’est pas obligatoire pour les machines virtuelles qui s’exécutent Windows 10 Entreprise multisession (également appelée Windows 10 Entreprise pour les bureaux virtuels) dans Azure Virtual Desktop).

Pour déterminer si votre machine virtuelle exécute l’édition multisession, exécutez la commande de script du Gestionnaire de licences logicielles suivante :

slmgr.vbs /dlv

Si la sortie contient la Name: Windows(R), ServerRdsh edition chaîne, la machine virtuelle exécute l’édition multisession et vous pouvez ignorer le reste de cette partie.

Remarque

Si vous déployez une Windows 10 Entreprise machine virtuelle multisession, puis que vous mettez à jour la clé de produit vers une autre édition, vous ne pouvez pas rétablir la machine virtuelle à Windows 10 Entreprise multisession. Au lieu de cela, vous devez redéployer la machine virtuelle. Pour plus d’informations, consultez Puis-je mettre à niveau une machine virtuelle Windows vers Windows Entreprise multisession ?

Pour la machine virtuelle créée à partir d’une image personnalisée, vous devez configurer la clé d’installation du client KMS appropriée pour la machine virtuelle. Procédez comme suit :

  1. Dans une fenêtre d’invite de commandes avec élévation de privilèges, exécutez la commande de script du Gestionnaire de licences logicielles suivante :

    cscript c:\windows\system32\slmgr.vbs /dlv
    
  2. Vérifiez la Description valeur dans la sortie pour déterminer si la machine virtuelle a été créée à partir d’un support de licence de vente au détail (RETAIL canal) ou de volume (VOLUME_KMSCLIENT).

  3. Si la sortie de la commande précédente indique le RETAIL canal, exécutez les commandes de script du Gestionnaire de licences logicielles suivantes. La première commande définit la clé d’installation du client KMS pour la version de Windows Server utilisée, et la deuxième commande force une autre tentative d’activation.

    cscript c:\windows\system32\slmgr.vbs /ipk <kms-client-setup-key>
    cscript c:\windows\system32\slmgr.vbs /ato
    

    Par exemple, si vous utilisez Windows Server 2016 Datacenter, la première commande s’affiche comme suit :

    cscript c:\windows\system32\slmgr.vbs /ipk CB7KF-BWN84-R7R2Y-793K2-8XDDG
    

Partie 2 : Vérifier si la machine virtuelle se trouve derrière un équilibreur de charge interne de référence SKU Standard

Procédez comme suit pour case activée si la machine virtuelle se trouve derrière un équilibreur de charge interne de référence SKU Standard qui bloque le trafic Internet sortant par défaut :

  1. Dans le portail Azure, recherchez et sélectionnez Machines virtuelles.

  2. Dans la liste des machines virtuelles, sélectionnez le nom de votre machine virtuelle.

  3. Dans le volet de menu de votre machine virtuelle, recherchez le titre Mise en réseau , puis sélectionnez Équilibrage de charge. Si vous voyez un message indiquant Aucune ressource d’équilibrage de charge à afficher, la machine virtuelle ne se trouve derrière aucun équilibreur de charge. Dans ce cas, vous pouvez passer à la partie 3 : Vérifier la connectivité entre la machine virtuelle et le service Azure KMS.

  4. Si vous voyez une ressource d’équilibreur de charge, sélectionnez le nom de l’équilibreur de charge pour accéder à la page Vue d’ensemble de l’équilibreur de charge.

  5. Dans le volet de menu de l’équilibreur de charge, sélectionnez Propriétés.

  6. Dans la page Propriétés , recherchez les valeurs de la référence SKU et du type d’équilibrage de charge, puis consultez le tableau suivant pour obtenir des conclusions.

    Valeurs de la référence SKU et du type d’équilibrage de charge Conclusion
    La valeur de la référence SKU est Standard et la valeur Type d’équilibrage de charge est Privée. La machine virtuelle se trouve derrière un équilibreur de charge interne de référence SKU Standard qui bloque le trafic Internet sortant par défaut. Pour activer la connectivité sortante, consultez Solution 2 : (Pour l’équilibreur de charge interne standard) Utiliser une passerelle NAT ou un équilibreur de charge public standard.
    La valeur de la référence SKU n’est pas Standard et la valeur Type d’équilibrage de charge est Public. La machine virtuelle n’est pas derrière un équilibreur de charge interne de référence SKU Standard et le trafic Internet sortant n’est pas bloqué par défaut. Passez à la partie 3 : Vérifiez la connectivité entre la machine virtuelle et le service Azure KMS.

Partie 3 : Vérifier la connectivité entre la machine virtuelle et le service Azure KMS

  1. Assurez-vous que la machine virtuelle est configurée pour utiliser le bon serveur Azure KMS. Pour ce faire, exécutez la commande de script du Gestionnaire de licences logicielles suivante :

    Invoke-Expression "$env:windir\system32\cscript.exe $env:windir\system32\slmgr.vbs /skms azkms.core.windows.net:1688"
    

    Cette commande doit retourner le texte suivant :

    Le nom de l’ordinateur du service de gestion des clés est défini sur azkms.core.windows.net:1688 correctement.

  2. Assurez-vous que le pare-feu de la machine virtuelle ne bloque pas le trafic réseau sortant vers le point de terminaison KMS sur le port 1688. Pour ce faire, appliquez l’une des options suivantes :

    • Vérifiez la connectivité en exécutant l’applet de commande Test-NetConnection dans PowerShell :

      Test-NetConnection azkms.core.windows.net -port 1688
      

      Si la tentative de connexion est autorisée, l’applet de commande affiche « TcpTestSucceeded : True » dans le texte de sortie.

    • Vérifiez la connectivité en exécutant l’outil PsPing :

      .\psping.exe azkms.core.windows.net:1688
      

      Dans la sortie de la commande, l’avant-dernière ligne doit ressembler au texte suivant :

      Sent = 4, Received = 4, Lost = 0 (0% loss)

      Si Lost est supérieur à 0 (zéro), la machine virtuelle n’a pas de connectivité au serveur KMS. Dans ce cas, si la machine virtuelle se trouve dans un réseau virtuel et qu’un serveur DNS personnalisé est spécifié, vous devez vous assurer que le serveur DNS peut résoudre le nom de azkms.core.windows.net domaine. Si ce n’est pas le cas, remplacez le serveur DNS par un serveur qui peut résoudre azkms.core.windows.net.

      Remarque

      Si vous supprimez tous les serveurs DNS d’un réseau virtuel, les machines virtuelles utilisent le service DNS interne d’Azure. Ce service peut résoudre kms.core.windows.net.

  3. Utilisez un test Azure Network Watcher tronçon suivant pour vérifier que le type de tronçon suivant est Internet de la machine virtuelle affectée vers des destinations particulières. Pour appliquer le test du tronçon suivant, procédez comme suit :

    1. Dans le portail Azure, recherchez et sélectionnez Machines virtuelles.

    2. Dans la liste des machines virtuelles, sélectionnez le nom de votre machine virtuelle.

    3. Dans le volet de menu de votre machine virtuelle, recherchez le titre Aide , puis sélectionnez Résolution des problèmes de connexion.

    4. Dans la page Résolution des problèmes de connexion de votre machine virtuelle, spécifiez les valeurs de champ suivantes.

      Champ Valeur
      Type de destination Spécifier manuellement
      URI, nom de domaine complet ou adresse IP 20.118.99.224, 40.83.235.53 (pour azkms.core.windows.net) ou l’adresse IP du point de terminaison KMS approprié qui s’applique à votre région
      Port de destination 1688
      Port source 1688
      Tests de diagnostic Tronçon suivant
    5. Sélectionnez le bouton Exécuter les tests de diagnostic .

    6. Une fois les tests de diagnostic terminés, passez en revue la zone Résultats qui s’affiche sous le bouton. Le test Tronçon suivant (à partir de la source) doit avoir la valeur ÉtatRéussite, et la valeur Détails doit inclure le type de tronçon suivant : Internet dans le texte. Si le type de tronçon suivant est Internet, répétez le test de tronçon suivant pour chacune des adresses IP restantes. Toutefois, si le type de tronçon suivant est indiqué comme VirtualAppliance, VirtualNetworkGateway ou autre chose qu’Internet, l’un des scénarios suivants se produit probablement :

      • Il existe un itinéraire par défaut qui achemine le trafic en dehors d’Azure avant que le trafic ne soit envoyé au point de terminaison Azure KMS.

      • Le trafic est bloqué quelque part le long du chemin d’accès.

      Pour ces scénarios, consultez Solution 1 : (Pour le tunneling forcé) Utiliser la route personnalisée Azure pour acheminer le trafic d’activation vers le serveur Azure KMS.

  4. Après avoir vérifié qu’une connexion à azkms.core.windows.net a réussi, exécutez la commande suivante à cette invite de Windows PowerShell avec élévation de privilèges. Cette commande tente d’activer la machine virtuelle Windows plusieurs fois :

    1..12 | ForEach-Object {
        Invoke-Expression "$env:windir\system32\cscript.exe $env:windir\system32\slmgr.vbs /ato";
        Start-Sleep 5
    }
    

    Si la tentative d’activation réussit, la commande affiche un message qui ressemble au texte suivant :

    Activation de Windows(R), édition Server Datacenter (<kms-client-product-key>) ... Produit activé avec succès.

Solution 1 : (Pour le tunneling forcé) Utiliser l’itinéraire personnalisé Azure pour router le trafic d’activation vers le serveur Azure KMS

Si la cause est un scénario de tunneling forcé dans lequel le trafic est acheminé en dehors d’Azure, collaborez avec votre administrateur réseau pour déterminer la bonne marche à suivre. Une solution possible est décrite dans la section Solution de l’échec de l’activation de Windows dans le scénario de tunneling forcé. Appliquez cette solution si elle est cohérente avec les stratégies de votre organization.

Solution 2 : (Pour l’équilibreur de charge interne standard) Utiliser une passerelle NAT ou un équilibreur de charge public standard

Si un équilibreur de charge interne standard bloque le trafic, il existe deux approches différentes pour résoudre le problème, comme décrit dans Utiliser la traduction d’adresses réseau source (SNAT) pour les connexions sortantes :

Nous vous recommandons d’utiliser une configuration NAT Azure Réseau virtuel pour la connectivité sortante dans les déploiements de production. Pour plus d’informations sur la passerelle NAT Azure, consultez Qu’est-ce qu’Azure NAT Gateway ?

Toutefois, s’il est nécessaire de bloquer tout le trafic Internet, veillez à refuser l’accès Internet sortant à l’aide d’une règle de groupe de sécurité réseau (NSG) sur le sous-réseau de la machine virtuelle que vous devez activer. Notez que le trafic d’activation du système d’exploitation vers les adresses IP KMS sur le port 1688 reste activé en raison des règles internes de la plateforme.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.