Freigeben über


Fehler 0xC004F074 „Es konnte kein Schlüsselverwaltungsdienst (Key Management Service, KMS) erreicht werden“

Gilt für: ✔️ Windows-VMs

In diesem Artikel wird erläutert, wie Sie den 0xC004F074 Fehler beheben, der auftritt, wenn Sie versuchen, einen virtuellen Windows-Computer (VM) in Microsoft Azure zu aktivieren.

Voraussetzungen

Symptome

Wenn Sie versuchen, eine Azure Windows-VM zu aktivieren, wird die folgende Fehlermeldung in Windows Script Host angezeigt:

Fehler: 0xC004F074 Der Softwarelizenzierungsdienst hat gemeldet, dass der Computer nicht aktiviert werden konnte. Es konnte kein Schlüsselverwaltungsdienst (Key Management Service, KMS) erreicht werden. Weitere Informationen finden Sie im Anwendungsereignisprotokoll.

Ursache

Der virtuelle Computer kann zur Aktivierung keine Verbindung mit dem KMS-Dienst herstellen. Wenn ein Azure KMS für die Aktivierung verwendet wird (standardauswahl), muss die Aktivierungsanforderung von einer öffentlichen Azure-IP-Adresse stammen. Mögliche Ursachen für diesen Verbindungsfehler sind:

  • Erzwungenes Tunneln, bei dem der gesamte Datenverkehr außerhalb von Azure (in der Regel an eine lokale Umgebung) mit Azure ExpressRoute oder einer virtuellen Netzwerk-Appliance weitergeleitet wird

  • Datenverkehr, der von einer virtuellen Netzwerk-Appliance oder einem standardmäßigen internen Lastenausgleichsmodul blockiert wird

Untersuchung

Um die spezifische Ursache des Problems zu ermitteln, befolgen Sie das dreiteilige Verfahren in den folgenden Abschnitten.

Teil 1: Konfigurieren des entsprechenden KMS-Clientsetupschlüssels

Notiz

Dieser Teil ist nicht für VMs erforderlich, die Windows 10 Enterprise multi-session (auch als Windows 10 Enterprise for Virtual Desktops bezeichnet) in Azure Virtual Desktop ausführen.

Um zu ermitteln, ob Ihre VM die Multisitzungsedition ausführt, führen Sie den folgenden Skriptbefehl für Software License Manager aus:

slmgr.vbs /dlv

Wenn die Ausgabe die Name: Windows(R), ServerRdsh edition Zeichenfolge enthält, wird auf dem virtuellen Computer die Multisitzungsedition ausgeführt, und Sie können den Rest dieses Teils überspringen.

Notiz

Wenn Sie einen virtuellen Windows 10 Enterprise-Virtuellen Computer mit mehreren Sitzungen bereitstellen und dann den Product Key auf eine andere Edition aktualisieren, können Sie die VM nicht auf Windows 10 Enterprise multi-session zurücksetzen. Stattdessen müssen Sie die VM erneut bereitstellen. Weitere Informationen finden Sie unter Kann ich eine Windows-VM auf Windows Enterprise-Multi-Session aktualisieren?

Für den virtuellen Computer, der aus einem benutzerdefinierten Image erstellt wird, müssen Sie den entsprechenden KMS-Clientsetupschlüssel für den virtuellen Computer konfigurieren. Führen Sie folgende Schritte aus:

  1. Führen Sie in einem Eingabeaufforderungsfenster mit erhöhten Rechten den folgenden Skriptbefehl für Den Software License Manager aus:

    cscript c:\windows\system32\slmgr.vbs /dlv
    
  2. Überprüfen Sie den Description Wert in der Ausgabe, um zu ermitteln, ob der virtuelle Computer aus Einzelhandelsmedien (RETAIL Kanal) oder VolumenlizenzmedienVOLUME_KMSCLIENT erstellt wurde.

  3. Wenn die vorherige Befehlsausgabe den RETAIL Kanal angibt, führen Sie die folgenden Skriptbefehle des Software License Manager aus. Der erste Befehl legt den KMS-Clientsetupschlüssel für die verwendete Version von Windows Server fest, und der zweite Befehl erzwingt einen weiteren Aktivierungsversuch.

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

    Wenn Sie beispielsweise Windows Server 2016 Datacenter verwenden, wird der erste Befehl wie folgt angezeigt:

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

Teil 2: Überprüfen, ob sich der virtuelle Computer hinter einem internen Standard-SKU-Lastenausgleich befindet

Führen Sie die folgenden Schritte aus, um zu überprüfen, ob sich der virtuelle Computer hinter einem internen Standard-SKU-Lastenausgleich befindet, der ausgehenden Internetdatenverkehr standardmäßig blockiert:

  1. Suchen Sie im Azure Portal nach Virtuelle Computer und wählen Sie diese aus.

  2. Wählen Sie in der Liste der virtuellen Computer den Namen Ihrer VM aus.

  3. Suchen Sie im Menübereich für Ihren virtuellen Computer die Netzwerküberschrift, und wählen Sie dann den Lastenausgleich aus. Wenn eine Meldung angezeigt wird, dass keine Lastenausgleichsressourcen angezeigt werden, liegt der virtuelle Computer nicht hinter einem Lastenausgleich. In diesem Fall können Sie mit Teil 3 fortfahren: Überprüfen Sie die Verbindung zwischen dem virtuellen Computer und dem Azure KMS-Dienst.

  4. Wenn eine Lastenausgleichsressource angezeigt wird, wählen Sie den Namen des Lastenausgleichsmoduls aus, um zur Übersichtsseite des Lastenausgleichs zu wechseln.

  5. Wählen Sie im Menübereich des Lastenausgleichs die Option "Eigenschaften" aus.

  6. Suchen Sie auf der Seite "Eigenschaften" die Werte für SKU und Lastenausgleichstyp, und lesen Sie dann die folgende Tabelle, um Schlussfolgerungen zu ziehen.

    Werte von SKU und Lastenausgleichstyp Zusammenfassung
    Der SKU-Wert ist "Standard", und der Wert " Lastenausgleichstyp " ist "Privat". Der virtuelle Computer befindet sich hinter einem internen Standard-SKU-Lastenausgleich, der ausgehenden Internetdatenverkehr standardmäßig blockiert. Informationen zum Aktivieren der ausgehenden Konnektivität finden Sie unter Lösung 2: (Für standardmäßiges internes Lastenausgleichsmodul) Verwenden eines NAT-Gateways oder eines standardmäßigen öffentlichen Lastenausgleichs.
    Der SKU-Wert ist nicht Standard, und der Lastenausgleichstypwert ist öffentlich. Der virtuelle Computer liegt nicht hinter einem internen Standard-SKU-Lastenausgleich, und ausgehender Internetdatenverkehr wird standardmäßig nicht blockiert. Fahren Sie mit Teil 3 fort: Überprüfen Sie die Verbindung zwischen dem virtuellen Computer und dem Azure KMS-Dienst.

Teil 3: Überprüfen der Verbindung zwischen dem virtuellen Computer und dem Azure KMS-Dienst

  1. Stellen Sie sicher, dass der virtuelle Computer richtig konfiguriert ist, damit er den richtigen Azure KMS-Server verwendet. Führen Sie dazu den folgenden Skriptbefehl für Den Software License Manager aus:

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

    Dieser Befehl sollte den folgenden Text zurückgeben:

    Der Schlüsselverwaltungsdienst-Computername wurde erfolgreich auf azkms.core.windows.net:1688 festgelegt.

  2. Stellen Sie sicher, dass die Firewall in der VM den ausgehenden Netzwerkdatenverkehr an den KMS-Endpunkt am Port 1688 nicht blockiert. Wenden Sie dazu eine der folgenden Optionen an:

    • Überprüfen Sie die Konnektivität, indem Sie das Cmdlet Test-NetConnection in PowerShell ausführen:

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

      Wenn der Verbindungsversuch zulässig ist, zeigt das Cmdlet "TcpTestSucceeded: True" im Ausgabetext an.

    • Überprüfen Sie die Konnektivität, indem Sie das PsPing-Tool ausführen:

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

      In der Befehlsausgabe sollte die zweite bis letzte Zeile dem folgenden Text ähneln:

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

      Wenn Lost größer als 0 (Null) ist, verfügt der virtuelle Computer nicht über eine Verbindung mit dem KMS-Server. Wenn sich der virtuelle Computer in einem virtuellen Netzwerk befindet und einen benutzerdefinierten DNS-Server angegeben hat, müssen Sie sicherstellen, dass der DNS-Server den azkms.core.windows.net Domänennamen auflösen kann. Wenn dies nicht möglich ist, ändern Sie den DNS-Server in einen, der aufgelöst azkms.core.windows.netwerden kann.

      Notiz

      Wenn Sie alle DNS-Server aus einem virtuellen Netzwerk entfernen, verwenden VMs den internen DNS-Dienst von Azure. Dieser Dienst kann kms.core.windows.net auflösen.

  3. Verwenden Sie einen nächsten Hoptest für Azure Network Watcher, um zu überprüfen, ob der nächste Hoptyp internet vom betroffenen virtuellen Computer zu bestimmten Zielen ist. Führen Sie die folgenden Schritte aus, um den nächsten Hoptest anzuwenden:

    1. Suchen Sie im Azure Portal nach Virtuelle Computer und wählen Sie diese aus.

    2. Wählen Sie in der Liste der virtuellen Computer den Namen Ihrer VM aus.

    3. Suchen Sie im Menübereich Ihrer VM die Hilfeüberschrift , und wählen Sie dann die Verbindungsproblembehandlung aus.

    4. Geben Sie auf der Seite "Verbindungsproblembehandlung " ihrer VM die folgenden Feldwerte an.

      Feld Wert
      Zieltyp Manuell angeben
      URI, FQDN oder IP-Adresse 20.118.99.224, 40.83.235.53 (fürazkms.core.windows.net) oder die IP des entsprechenden KMS-Endpunkts, der für Ihre Region gilt
      Zielport 1688
      Quellport 1688
      Diagnosetests Nächster Hop
    5. Wählen Sie die Schaltfläche "Diagnosetests ausführen" aus .

    6. Überprüfen Sie nach Abschluss der Diagnosetests das Feld "Ergebnisse ", das unterhalb der Schaltfläche angezeigt wird. Der Test "Nächster Hop" (aus Quelle) sollte den Statuswert "Erfolg" aufweisen, und der Wert "Details" sollte den Typ "Nächster Hop" enthalten: "Internet" im Text. Wenn der nächste Hoptyp internet ist, wiederholen Sie den nächsten Hoptest für jeden der verbleibenden IPs. Wenn der nächste Hoptyp jedoch als VirtualAppliance, VirtualNetworkGateway oder etwas anderes als Internet angezeigt wird, tritt wahrscheinlich eine der folgenden Szenarien auf:

      • Eine Standardroute ist vorhanden, die den Datenverkehr außerhalb von Azure leitet, bevor der Datenverkehr an den Azure KMS-Endpunkt gesendet wird.

      • Der Datenverkehr wird irgendwo entlang des Pfads blockiert.

      Diese Szenarien finden Sie unter Lösung 1: (For forced tunneling) Use the Azure custom route to route activation traffic to the Azure KMS server.

  4. Nachdem Sie überprüft haben, ob eine Verbindung azkms.core.windows.net erfolgreich ist, führen Sie den folgenden Befehl an der Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten aus. Dieser Befehl versucht mehrmals, die Windows-VM zu aktivieren:

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

    Wenn der Aktivierungsversuch erfolgreich ist, zeigt der Befehl eine Meldung an, die dem folgenden Text ähnelt:

    Aktivieren von Windows(R), Server Datacenter Edition (<kms-client-product-key>) ... Das Produkt wurde erfolgreich aktiviert.

Lösung 1: (For forced tunneling) Use the Azure custom route to route activation traffic to the Azure KMS server

Wenn es sich bei der Ursache um ein Erzwungenes Tunnelszenario handelt, in dem Datenverkehr außerhalb von Azure weitergeleitet wird, arbeiten Sie mit Ihrem Netzwerkadministrator zusammen, um den richtigen Aktionsverlauf zu ermitteln. Eine mögliche Lösung wird im Abschnitt "Lösung " der Windows-Aktivierung im Szenario für erzwungenes Tunneling beschrieben. Wenden Sie diese Lösung an, wenn sie mit den Richtlinien Ihrer Organisation konsistent ist.

Lösung 2: (Für standardmäßiges internes Lastenausgleichsmodul) Verwenden eines NAT-Gateways oder eines standardmäßigen öffentlichen Lastenausgleichsmoduls

Wenn ein standardmäßiger interner Lastenausgleich Datenverkehr blockiert, gibt es zwei verschiedene Ansätze zum Beheben des Problems, wie unter Verwendung der Quellnetzwerkadressübersetzung (Source Network Address Translation, SNAT) für ausgehende Verbindungen beschrieben:

Es wird empfohlen, eine NAT-Konfiguration für azure Virtual Network für ausgehende Verbindungen in Produktionsbereitstellungen zu verwenden. Weitere Informationen zu Azure NAT Gateway finden Sie unter Was ist Azure NAT Gateway?.

Wenn es jedoch eine Anforderung gibt, den gesamten Internetdatenverkehr zu blockieren, stellen Sie sicher, dass Sie den ausgehenden Internetzugriff verweigern, indem Sie eine Netzwerksicherheitsgruppe (NSG)-Regel im Subnetz der VM verwenden, die Sie aktivieren müssen. Beachten Sie, dass der Datenverkehr der Betriebssystemaktivierung an die KMS-IPs an Port 1688 aufgrund von plattforminternen Regeln weiterhin aktiviert bleibt.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.