Aracılığıyla paylaş


"Hiçbir Anahtar Yönetim Merkezi'yle (KMS) bağlantı kurulamadı" 0xC004F074 hatası

Şunlar için geçerlidir: ✔️ Windows VM'leri

Bu makalede, Microsoft Azure'da bir Windows sanal makinesini (VM) etkinleştirmeye çalıştığınızda oluşan 0xC004F074 hatasını nasıl çözebileceğiniz açıklanır.

Önkoşullar

Belirtiler

Azure Windows VM'sini etkinleştirmeye çalıştığınızda, Windows Betik Ana Bilgisayarı'nda aşağıdaki hata iletisiyle karşılaşırsınız:

Hata: 0xC004F074 Yazılım Lisanslama Hizmeti bilgisayarın etkinleştirilmediğini bildirdi. Hiçbir Anahtar Yönetim Merkezi'yle (KMS) bağlantı kurulamadı. Ek bilgi için lütfen Uygulama Olay Günlüğüne bakın.

Neden

VM, etkinleştirme için KMS hizmetine bağlanamıyor. Etkinleştirme için bir Azure KMS kullanılıyorsa (varsayılan seçim), etkinleştirme isteğinin bir Azure genel IP adresinden kaynaklanabilmesi gerekir. Bu bağlantı hatasının olası nedenleri şunlardır:

  • Azure ExpressRoute veya ağ sanal gereci kullanılarak tüm trafiğin Azure dışında (genellikle şirket içi ortama) yönlendirildiği zorlamalı tünel

  • Ağ sanal gereci veya standart iç yük dengeleyici tarafından engellenen trafik

Araştırma

Sorunun belirli nedenini belirlemek için aşağıdaki bölümlerde yer alan üç bölümden oluşan yordamı izleyin.

Bölüm 1: Uygun KMS istemci kurulum anahtarını yapılandırma

Not

Bu bölüm, Azure Sanal Masaüstü'nde Windows 10 Enterprise çoklu oturum (Sanal Masaüstleri için Windows 10 Enterprise olarak da bilinir) çalıştıran VM'ler için gerekli değildir.

VM'nizin çok oturumlu sürümü çalıştırıp çalıştırmadığını belirlemek için aşağıdaki Yazılım Lisans Yöneticisi betik komutunu çalıştırın:

slmgr.vbs /dlv

Çıktı dizeyi Name: Windows(R), ServerRdsh edition içeriyorsa, VM çok oturumlu sürümü çalıştırıyordur ve bu bölümün geri kalanını atlayabilirsiniz.

Not

Windows 10 Enterprise çoklu oturum VM'sini dağıtıp ürün anahtarını başka bir sürüme güncelleştirirseniz, VM'yi Windows 10 Enterprise çoklu oturumuna geri döndüremezsiniz. Bunun yerine, VM'yi yeniden dağıtmanız gerekir. Daha fazla bilgi için bkz. Windows VM'sini Windows Enterprise çoklu oturumuna yükseltebilir miyim?

Özel bir görüntüden oluşturulan VM için, VM için uygun KMS istemci kurulum anahtarını yapılandırmanız gerekir. Şu adımları izleyin:

  1. Yükseltilmiş bir Komut İstemi penceresinde aşağıdaki Yazılım Lisans Yöneticisi betik komutunu çalıştırın:

    cscript c:\windows\system32\slmgr.vbs /dlv
    
  2. Vm'nin Description perakende (RETAIL kanal) veya topluVOLUME_KMSCLIENT lisans medyasından mı oluşturulduğunu belirlemek için çıktıdaki değeri denetleyin.

  3. Önceki komut çıkışı kanalı gösteriyorsa RETAIL aşağıdaki Yazılım Lisans Yöneticisi betik komutlarını çalıştırın. İlk komut, kullanılan Windows Server sürümü için KMS istemci kurulum anahtarını ayarlar ve ikinci komut başka bir etkinleştirme girişimini zorlar.

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

    Örneğin, Windows Server 2016 Datacenter kullanıyorsanız, ilk komut aşağıdaki gibi görünür:

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

Bölüm 2: VM'nin Standart SKU iç yük dengeleyicinin arkasında olup olmadığını denetleyin

VM'nin varsayılan olarak giden İnternet trafiğini engelleyen Standart SKU iç yük dengeleyicinin arkasında olup olmadığını denetlemek için şu adımları izleyin:

  1. Azure portalındaSanal makineler için arama yapın ve bunu seçin.

  2. Sanal makineler listesinde VM'nizin adını seçin.

  3. VM'nizin menü bölmesinde Ağ başlığını bulun ve yük dengeleme'yi seçin. Görüntülenecek yük dengeleme kaynağı yok iletisini görürseniz, VM herhangi bir yük dengeleyicinin arkasında değildir. Bu durumda, 3. Bölüm: VM ile Azure KMS hizmeti arasındaki bağlantıyı doğrulama bölümüne geçebilirsiniz.

  4. Bir yük dengeleyici kaynağı görürseniz yük dengeleyicinin Genel Bakış sayfasına gitmek için yük dengeleyicinin adını seçin.

  5. Yük dengeleyicinin menü bölmesinde Özellikler'i seçin.

  6. Özellikler sayfasında SKU ve Yük Dengeleme Türü değerlerini bulun ve sonuçlar için aşağıdaki tabloya bakın.

    SKU ve Yük Dengeleme Türü Değerleri Sonuç
    SKU değeri Standart ve Yük Dengeleme Türü değeri Özel'dir. VM, varsayılan olarak giden İnternet trafiğini engelleyen Standart SKU iç yük dengeleyicinin arkasındadır. Giden bağlantıyı etkinleştirmek için bkz . Çözüm 2: (Standart iç yük dengeleyici için) NAT ağ geçidi veya standart genel yük dengeleyici kullanma.
    SKU değeri Standart değildir ve Yük Dengeleme Türü değeri Genel'dir. VM Standart SKU iç yük dengeleyicinin arkasında değildir ve giden İnternet trafiği varsayılan olarak engellenmez. 3. Bölüme geçin: VM ile Azure KMS hizmeti arasındaki bağlantıyı doğrulayın.

Bölüm 3: VM ile Azure KMS hizmeti arasındaki bağlantıyı doğrulama

  1. Mevcut KMS sunucusu yapılandırmalarını temizleyin ve VM'nin doğru Azure KMS sunucusunu kullanacak şekilde yapılandırıldığından emin olun. Bunu yapmak için aşağıdaki Yazılım Lisans Yöneticisi betik komutunu çalıştırın:

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

    Bu komut aşağıdaki metni döndürmelidir:

    Anahtar Yönetimi Merkezi makine adı başarıyla azkms.core.windows.net:1688 olarak ayarlandı.

  2. VM'deki güvenlik duvarının 1688 numaralı bağlantı noktası üzerinden KMS uç noktasına giden ağ trafiğini engellemediğinden emin olun. Bunu yapmak için aşağıdaki seçeneklerden birini uygulayın:

    • PowerShell'de Test-NetConnection cmdlet'ini çalıştırarak bağlantıyı denetleyin:

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

      Bağlantı girişimine izin verilirse, cmdlet çıkış metninde "TcpTestSucceeded: True" değerini görüntüler.

    • PsPing aracını çalıştırarak bağlantıyı denetleyin:

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

      Komut çıkışında, ikinci-son satırın aşağıdaki metne benzemesi gerekir:

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

      0'dan (sıfır) büyükse Lost , VM'nin KMS sunucusuna bağlantısı yoktur. Bu durumda, VM bir sanal ağdaysa ve belirtilen özel bir DNS sunucusuna sahipse, DNS sunucusunun etki alanı adını çözümleyebildiğinden azkms.core.windows.net emin olmanız gerekir. Bunu yapamazsa, DNS sunucusunu çözümleyebilecek azkms.core.windows.netbir sunucuyla değiştirin.

      Not

      Sanal ağdan tüm DNS sunucularını kaldırırsanız, VM'ler Azure'ın iç DNS hizmetini kullanır. Bu hizmet çözümleyebilir kms.core.windows.net.

  3. Sonraki atlama türünün etkilenen VM'den belirli hedeflere İnternet olduğunu doğrulamak için Azure Ağ İzleyicisi sonraki atlama testini kullanın. Sonraki atlama testini uygulamak için şu adımları izleyin:

    1. Azure portalındaSanal makineler için arama yapın ve bunu seçin.

    2. Sanal makineler listesinde VM'nizin adını seçin.

    3. VM'nizin menü bölmesinde Yardım başlığını bulun ve Bağlantı sorunlarını giderme'yi seçin.

    4. VM'nizin Bağlantı sorunlarını giderme sayfasında aşağıdaki alan değerlerini belirtin.

      Alan Değer
      Hedef türü El ile belirtin
      URI, FQDN veya IP adresi 20.118.99.224, 40.83.235.53 (için azkms.core.windows.net) veya bölgeniz için geçerli olan uygun KMS uç noktasının IP'sini
      Hedef bağlantı noktası 1688
      Kaynak bağlantı noktası 1688
      Tanılama testleri Sonraki atlama
    5. Tanılama testlerini çalıştır düğmesini seçin.

    6. Tanılama testleri tamamlandıktan sonra düğmenin altında görüntülenen Sonuçlar kutusunu gözden geçirin. Sonraki atlama (kaynaktan) testinin Durum değeri Başarılı olmalıdır ve Ayrıntılar değeri metinde Sonraki atlama türü: İnternet değerini içermelidir. Sonraki atlama türü İnternet ise, kalan IP'lerin her biri için sonraki atlama testini yineleyin. Ancak, sonraki atlama türü VirtualAppliance, VirtualNetworkGateway veya İnternet dışında herhangi bir şey olarak gösteriliyorsa, büyük olasılıkla aşağıdaki senaryolardan biri gerçekleşmektedir:

      • Trafik Azure KMS uç noktasına gönderilmeden önce trafiği Azure'ın dışına yönlendiren varsayılan bir yol vardır.

      • Trafik, yol boyunca bir yerde engellenir.

      Bu senaryolar için bkz . Çözüm 1: (Zorlamalı tünel için) Etkinleştirme trafiğini Azure KMS sunucusuna yönlendirmek için Azure özel yolunu kullanma.

  4. bağlantısının azkms.core.windows.net başarılı olduğunu doğruladıktan sonra, yükseltilmiş Windows PowerShell isteminde aşağıdaki komutu çalıştırın. Bu komut, Windows VM'yi birkaç kez etkinleştirmeye çalışır:

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

    Etkinleştirme girişimi başarılı olursa, komut aşağıdaki metne benzer bir ileti görüntüler:

    Windows(R), Server Datacenter sürümü etkinleştirılıyor (<kms-client-product-key>) ... Ürün başarıyla etkinleştirildi.

Çözüm 1: (Zorlamalı tünel için) Etkinleştirme trafiğini Azure KMS sunucusuna yönlendirmek için Azure özel yolunu kullanın

Bunun nedeni trafiğin Azure dışına yönlendirildiği zorlamalı bir tünel senaryosuysa, doğru eylem seyrini belirlemek için ağ yöneticinizle birlikte çalışın. Olası çözümlerden biri, Windows etkinleştirmesi zorlamalı tünel senaryosunda başarısız oluyor bölümünün Çözüm bölümünde açıklanmıştır. Kuruluşunuzun ilkeleriyle tutarlıysa bu çözümü uygulayın.

Çözüm 2: (Standart iç yük dengeleyici için) NAT ağ geçidi veya standart genel yük dengeleyici kullanın

Standart bir iç yük dengeleyici trafiği engelliyorsa, giden bağlantılar için Kaynak Ağ Adresi Çevirisi'ni (SNAT) kullanma bölümünde açıklandığı gibi sorunu çözmek için iki farklı yaklaşım vardır:

Üretim dağıtımlarında giden bağlantı için Azure Sanal Ağ NAT yapılandırması kullanmanızı öneririz. Azure NAT Gateway hakkında daha fazla bilgi için bkz. Azure NAT Gateway nedir?

Ancak, tüm İnternet trafiğini engelleme gereksinimi varsa, etkinleştirmeniz gereken VM'nin alt ağında bir ağ güvenlik grubu (NSG) kuralı kullanarak giden İnternet erişimini reddeddiğinizden emin olun. Platform iç kuralları nedeniyle 1688 numaralı bağlantı noktasında KMS IP'lerine yönelik işletim sistemi etkinleştirme trafiğinin etkin kaldığına dikkat edin.

Yardım için bize ulaşın

Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.