Fehler 0xC004F074 "Es konnte kein Schlüsselverwaltungsdienst (KMS) kontaktiert werden"

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 in Windows Script Host die folgende Fehlermeldung angezeigt:

Fehler: 0xC004F074 Der Softwarelizenzierungsdienst meldete, dass der Computer nicht aktiviert werden konnte. Es konnte kein Schlüsselverwaltungsdienst (KMS) erreicht werden. Weitere Informationen finden Sie im Ereignisprotokoll der Anwendung.

Ursache

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

  • Tunnelerzwingung, bei der der gesamte Datenverkehr außerhalb von Azure (in der Regel an eine lokale Umgebung) mithilfe von Azure ExpressRoute oder einem virtuellen netzwerkbasierten Anwendung

  • Datenverkehr, der entweder durch eine virtuelle Netzwerk-Anwendung oder einen internen Load Balancer standard blockiert wird

Untersuchung

Führen Sie das dreiteilige Verfahren in den folgenden Abschnitten aus, um die spezifische Ursache des Problems zu ermitteln.

Teil 1: Konfigurieren des entsprechenden KMS-Clienteinrichtungsschlüssels

Hinweis

Dieser Teil ist nicht für VMs erforderlich, die Windows 10 Enterprise mehreren Sitzungen (auch als Windows 10 Enterprise für Virtual Desktops bezeichnet) in Azure Virtual Desktop ausgeführt werden).

Führen Sie den folgenden Software License Manager-Skriptbefehl aus, um zu ermitteln, ob auf Ihrem virtuellen Computer die Edition mit mehreren Sitzungen ausgeführt wird:

slmgr.vbs /dlv

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

Hinweis

Wenn Sie eine Windows 10 Enterprise VM mit mehreren Sitzungen bereitstellen und dann den Product Key auf eine andere Edition aktualisieren, können Sie die VM nicht rückgängig machen, um mehrere Sitzungen zu Windows 10 Enterprise. 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-Clienteinrichtungsschlüssel für den virtuellen Computer konfigurieren. Gehen Sie folgendermaßen vor:

  1. Führen Sie in einem Eingabeaufforderungsfenster mit erhöhten Rechten den folgenden Software License Manager-Skriptbefehl 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 auf Der Grundlage von Verkaufsmedien (RETAIL Kanal) oder Volumenmedien (VOLUME_KMSCLIENT) erstellt wurde.

  3. Wenn die vorherige Befehlsausgabe den RETAIL Kanal angibt, führen Sie die folgenden Software License Manager-Skriptbefehle 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 z. B. 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 Lastenausgleichsmodul der Standard-SKU befindet

Führen Sie die folgenden Schritte aus, um zu überprüfen, ob sich der virtuelle Computer hinter einem internen Lastenausgleich der Standard-SKU 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 Ihres virtuellen Computers aus.

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

  4. Wenn eine Load Balancer-Ressource angezeigt wird, wählen Sie den Namen des Lastenausgleichs aus, um zur Übersichtsseite des Lastenausgleichs zu wechseln.

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

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

    Werte der SKU und des Lastenausgleichstyps Zusammenfassung
    Der SKU-Wert ist Standard, und der Wert des Lastenausgleichstyps ist Privat. Die VM befindet sich hinter einem internen Lastenausgleich der Standard-SKU, der ausgehenden Internetdatenverkehr standardmäßig blockiert. Informationen zum Aktivieren der ausgehenden Konnektivität finden Sie unter Lösung 2: (Für internen Load Balancer Standard) Verwenden eines NAT-Gateways oder eines öffentlichen Load Balancers vom Typ "Standard".
    Der SKU-Wert ist nicht Standard, und der Wert des Lastenausgleichstyps ist Public. Der virtuelle Computer befindet sich nicht hinter einem internen Lastenausgleich der Standard-SKU, und ausgehender Internetdatenverkehr wird nicht standardmäßig blockiert. Fahren Sie mit Teil 3: Überprüfen der Konnektivität zwischen dem virtuellen Computer und dem Azure KMS-Dienst fort.

Teil 3: Überprüfen der Konnektivität 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 Software License Manager-Skriptbefehl 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 Computername des Schlüsselverwaltungsdiensts wurde auf azkms.core.windows.net:1688 erfolgreich festgelegt.

  2. Stellen Sie sicher, dass die Firewall auf dem virtuellen Computer keinen ausgehenden Netzwerkdatenverkehr an den KMS-Endpunkt an Port 1688 blockiert. Wenden Sie hierzu 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 vorletzte 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 die VM in diesem Fall in einem virtuellen Netzwerk befindet und ein benutzerdefinierter DNS-Server angegeben ist, müssen Sie sicherstellen, dass der DNS-Server den azkms.core.windows.net Domänennamen auflösen kann. Wenn dies nicht der Fall ist, ändern Sie den DNS-Server in einen server, der aufgelöst azkms.core.windows.netwerden kann.

      Hinweis

      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 Azure Network Watcher Test des nächsten Hops, um zu überprüfen, ob der Typ des nächsten Hops Internet von der betroffenen VM zu bestimmten Zielen ist. Führen Sie die folgenden Schritte aus, um den Test des nächsten Hops 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 Ihres virtuellen Computers aus.

    3. Suchen Sie im Menübereich Ihres virtuellen Computers die Überschrift Hilfe , und wählen Sie dann Verbindungsproblembehandlung aus.

    4. Geben Sie auf der Seite Verbindungsproblembehandlung Ihres virtuellen Computers die folgenden Feldwerte an.

      Feld Wert
      Zieltyp Manuelles Angeben
      URI, FQDN oder IP-Adresse 20.118.99.224, 40.83.235.53 (für azkms.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 unter der Schaltfläche angezeigt wird. Der Test Nächster Hop (aus Quelle) sollte den StatuswertSuccess aufweisen, und der Wert Details sollte den Typ des nächsten Hops: Internet im Text enthalten. Wenn der Typ des nächsten Hops Internet ist, wiederholen Sie den Test des nächsten Hops für jede der verbleibenden IP-Adressen. Wenn der Typ des nächsten Hops jedoch als VirtualAppliance, VirtualNetworkGateway oder etwas anderes als Internet angezeigt wird, tritt wahrscheinlich eines der folgenden Szenarien auf:

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

      • Der Datenverkehr wird irgendwo entlang des Pfads blockiert.

      Informationen zu diesen Szenarien finden Sie unter Lösung 1: (Für Tunnelerzwingung) Verwenden Sie die benutzerdefinierte Azure-Route, um Aktivierungsdatenverkehr an den Azure KMS-Server weiterzuleiten.

  4. Nachdem Sie überprüft haben, ob eine Verbindung mit azkms.core.windows.net erfolgreich hergestellt wurde, führen Sie den folgenden Befehl an dieser Eingabeaufforderung mit erhöhten Rechten Windows PowerShell 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>) ... Produkt wurde erfolgreich aktiviert.

Lösung 1: (Für Tunnelerzwingung) Verwenden Sie die benutzerdefinierte Azure-Route, um Aktivierungsdatenverkehr an den Azure KMS-Server weiterzuleiten.

Wenn die Ursache ein Tunnelerzwingungsszenario ist, bei dem Datenverkehr außerhalb von Azure weitergeleitet wird, wenden Sie sich an Ihren Netzwerkadministrator, um die richtige Vorgehensweise zu ermitteln. Eine mögliche Lösung wird im Abschnitt Lösung von Windows-Aktivierungsfehlern bei erzwungenem Tunneln beschrieben. Wenden Sie diese Lösung an, wenn sie mit den Richtlinien Ihrer organization konsistent ist.

Lösung 2: (Für internen Load Balancer Standard) Verwenden eines NAT-Gateways oder eines öffentlichen Load Balancers vom Typ "Standard"

Wenn ein interner Standardlastenausgleich Datenverkehr blockiert, gibt es zwei verschiedene Ansätze, um das Problem zu beheben, wie unter Verwenden der Quellnetzwerkadressenübersetzung (Source Network Address Translation, SNAT) für ausgehende Verbindungen beschrieben:

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

Wenn es jedoch erforderlich ist, den gesamten Internetdatenverkehr zu blockieren, stellen Sie sicher, dass Sie den ausgehenden Internetzugriff verweigern, indem Sie eine NSG-Regel (Netzwerksicherheitsgruppe) für das Subnetz des virtuellen Computers verwenden, den Sie aktivieren müssen. Beachten Sie, dass der Datenverkehr der Betriebssystemaktivierung an die KMS-IP-Adressen an Port 1688 aufgrund von plattforminternen Regeln 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.