Önyükleme Ortamı ve CMG aracılığıyla OSD, 0x80004005 Hatasıyla Başarısız Oluyor


Yakın zamanda Boot media ve CMG aracılığıyla OSD hakkında bir yazı yayınladım. Üzerinde çalışırken görev dizim 0x80004005 genel hatasıyla başarısız oldu. Bu konuyla ilgili bulgularımı ve çözümümü paylaşayım.

Görev dizisini CMG aracılığıyla internet üzerinden dağıtmak harika bir özellik ve mutlaka denemelisiniz. Uzak makine, bir etki alanına katılmış olmayacak. Ancak, bir önyükleme görüntüsü ve CMG içeren bir görev dizisini kullanarak uzak bir istemcinin görüntüsünü oluşturabilirsiniz.

Bu sorunla SCCM 2010 kurulumumda karşılaştım. Ayrıca 2010 sürümünün erken güncelleme halkasını seçtiğim için KB4594176 düzeltmesini de yükledim.

Önyükleme Ortamı ve CMG aracılığıyla OSD, 0x80004005 Hatasıyla Başarısız Oluyor

Bir önyükleme ortamı oluşturduktan sonra istemci makinemi bundan önyükleme yapacak şekilde yapılandırdım ve bir hatayla karşılaştım. Görev Sırası Çalıştırılamadı. Bu bilgisayar için politika alınırken bir hata oluştu (0x80004005). Daha fazla bilgi için sistem yöneticinize veya yardım masası operatörünüze başvurun.

Bulut yönetimi ağ geçidim gayet iyi çalışıyordu ve CMG'yi herhangi bir sorun olmadan RDP'ye aktarabiliyordum.

Öncelikle 0x80004005 genel hata kodudur. Bu hatadan hiçbir şey tahmin edemezsiniz. Gerçek hataları bulmak için smsts.log dosyasını incelemelisiniz.

smsts.log dosyasını incelediğimde WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED hatasını gördüm. Ayrıca winhttp ile gönderimin başarısız olması gibi başka hatalar da vardı; 80072f8f.

Aşağıya doğru kaydırdığımda başka bir hata gördüm: SyncTimeWithMP() başarısız oldu. 80072ee7. MP'den zaman bilgisi alınamadı. Aslında bu hiç mantıklı değildi çünkü CMG'de ve müvekkilimde bir sorun yoktu.

İşte smsts.log dosyasının çıktısı.

[TSMESSAGING] AsyncCallback(): ----------------------------------------------------------------- TSMBootstrap
[TSMESSAGING] AsyncCallback(): WINHTTP_CALLBACK_STATUS_SECURE_FAILURE Encountered TSMBootstrap
[TSMESSAGING] : dwStatusInformationLength is 4
TSMBootstrap 
[TSMESSAGING] : *lpvStatusInformation is 0x1
[TSMESSAGING] : WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED is set
[TSMESSAGING] AsyncCallback(): ----------------------------------------------------------------- TSMBootstrap 
Error. Received 0x80072f8f from WinHttpSendRequest.
Sending with winhttp failed; 80072f8f. retrying.
Retrying and Ignoring date security failures.
Sending with winhttp failed; 80072f8f
Will retry in 44 second(s)
Sending with winhttp failed; 80072ee7
End of retries
Failed to get client identity (80072ee7)
failed to request for client
SyncTimeWithMP() failed. 80072ee7.
Failed to get time information from MP: https://PRAJWALCMG.PRAJWAL.ORG/CCM_Proxy_MutualAuth/72057594037927939.
Failed to select MP TSMBootstrap

Öncelikle hepinizin WINHTTP_STATUS_CALLBACK fonksiyonlarına bir göz atmanızı istiyorum. smsts.log dosyasında karşılaştığım hata: WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED. Bu hata, sertifika iptal kontrolünün etkinleştirildiği anlamına gelir. Ancak iptal kontrolü, bir sertifikanın iptal edilip edilmediğini doğrulayamadı. İptali kontrol etmek için kullanılan sunucuya ulaşılamıyor olabilir.

Meslektaşım Tom Degreef'in de aynı hatayla karşılaştığını burada belirtmem gerekiyor. Bir hafta sonra bir numara önerdi ve işe yaradı.

Tom'un yaptığı, CMG'de CRL kontrolünü kapatmaktı. Ancak bu tek başına sorunu çözmedi. Ayrıca site düzeyinde CRL denetimini de kapattı. Site düzeyinde CRL denetimini kapattıktan sonra önyükleme diskini yeniden oluşturmak işe yaradı.

İstemci Sertifikasının İptali

PKI kullanarak bir CMG dağıtırken, hizmeti Ayarlar sekmesinde İstemci sertifikası iptalini doğrulayacak şekilde yapılandırırız. Bu ayar, hizmeti yayınlanmış bir sertifika iptal listesini (CRL) kullanacak şekilde yapılandırır.

Microsoft'a göre bu CMG seçeneği istemci kimlik doğrulama sertifikasını doğrular.

  • İstemci Azure AD kimlik doğrulamasını kullanıyorsa CRL'nin önemi yoktur.
  • PKI kullanıyorsanız ve CRL'yi harici olarak yayınlıyorsanız bu seçeneği etkinleştirin (önerilir).
  • PKI kullandığınızda CRL'yi yayınlamayın, ardından bu seçeneği devre dışı bırakın.

Benim durumumda PKI kullanıyordum ve CRL'mi internete bakan bir web sunucusunda barındırmıyorum. Bu nedenle CMG ve Site Sunucusunda CRL'yi devre dışı bırakmaya karar verdim.

CMG'de CRL'yi kapatmak için CMG özelliklerine gidin ve Ayarlar sekmesini tıklayın. İstemci Sertifikasının İptalini Doğrula seçeneğinin işaretini kaldırın. Tamam'ı tıklayın.

Site düzeyinde CRL'yi kapatabilirsiniz. Site özelliklerinde İletişim Güvenliği sekmesini tıklayın. Site Sistemleri için İstemci Kontrolü Sertifika İptal Listesi'nin işaretini kaldırın ve Tamam'ı tıklayın.

Yukarıdaki değişiklikleri yaptıktan ve önyükleme diskini yeniden oluşturduktan sonra, Boot Media ve CMG aracılığıyla OSD'yi hatasız olarak gerçekleştirebildim. Umarım bu yazı yardımcı olur.

İlgili makaleler