SCCM 2012 SP1 - DownloadContentFiles (), hr = 0x80041013 ile başarısız oldu


15

Yazılım Güncelleştirmeleri için Otomatik Dağıtım Kurallarımızın , katalogda doğru bir şekilde listelenmiş olmalarına rağmen , bu ayın yamalarını Microsoft'tan otomatik olarak indiremediğini ve uygulayamadığını fark ettik .

Katalogda Listelenen SCCM Yazılım Güncellemeleri


Otomatik Dağıtım Kuralları, Son Hata Kodlarını 0X87D20417ve Son Hata Açıklamalarını "Otomatik Dağıtım Kuralı İndirme başarısız" olarak listeler . Kuralların manuel olarak yeniden çalıştırılması bu hatayı yeniden üretir. Otomatik Dağıtım Kurallarını silmek ve yeniden oluşturmak da aynı hatayı üretir.

SMS_RULE_ENGINE günlüğüne baktığınızda aşağıdaki hatalar gösterilir:

Error   Milestone   004 6/19/2013 3:42:21 PM    SCCM.ad.example.com SMS_RULE_ENGINE 8706     Content download failed.   Message: Failed to download one or more content files.   Source: SMS Rule Engine.   
Error   Milestone   004 6/19/2013 3:42:07 PM    SCCM.ad.example.com SMS_RULE_ENGINE 8706     Content download failed.   Message: Failed to download one or more content files.   Source: SMS Rule Engine.   
Error   Milestone   004 6/19/2013 2:45:44 PM    SCCM.ad.example.com SMS_RULE_ENGINE 8706     Content download failed.   Message: Failed to download one or more content files.   Source: SMS Rule Engine.   
Error   Milestone   004 6/19/2013 2:43:29 PM    SCCM.ad.example.com SMS_RULE_ENGINE 8706     Content download failed.   Message: Failed to download one or more content files.   Source: SMS Rule Engine.   


Ruleengine.log (muhtemelen SCCM içindeki daha yüksek düzey SMS_RULE_ENGINE günlüğünün oluşturulduğu günlük dosyası) üzerinden bakarsam ve Otomatik Dağıtım Kurallarının bu güncelleştirmeleri I'ye yerleştirmesi gereken ilgili Dağıtım Paketleri için Paket Kimliğini koordine edersem aşağıdakileri bulun:

Contents 16821586 is already present in the package "0040000F". Skipping download.  SMS_RULE_ENGINE 6/19/2013 3:41:58 PM    9068 (0x236C)
Downloading contents (count = 10) for UpdateID 16829711 SMS_RULE_ENGINE 6/19/2013 3:41:58 PM    9068 (0x236C)
List of update content(s) which match the content rule criteria = {16821659,16821660,16821661,16821662,16821663,16821664,16821665,16821666,16821667,16821668}   SMS_RULE_ENGINE 6/19/2013 3:41:58 PM    9068 (0x236C)
Downloading content with ID 16821659 in the package SMS_RULE_ENGINE 6/19/2013 3:41:58 PM    9068 (0x236C)
Failed to download the update from internet. Error = 4115   SMS_RULE_ENGINE 6/19/2013 3:41:58 PM    9068 (0x236C)
Failed to download ContentID 16821659 for UpdateID 16829711. Error code = 4115  SMS_RULE_ENGINE 6/19/2013 3:41:58 PM    9068 (0x236C)


Bu noktada, hepsinin aynı olay tarafından oluşturulduğuna inandığım üç farklı hata var. Tabii ki, olmayabilirler, bu yüzden hepsi buraya dahil edilmiştir. Günlük dosyalarındaki saatleri koordine ettim ve hepsinin Otomatik Dağıtım Kurallarıyla ilgili sorunla ilgili olduklarından eminim.

  • 0X87D20417 - SCCM Konsolunun Otomatik Dağıtım Kurallarından
  • 8706 - SCCM Konsolunun İzleme SMS_RULE_ENGINE günlüğünden
  • Error code = 4115 - SCCM sitesi sunucusundan [SCCMInstallationPath] \ Logs \ ruleengine.log günlükleri


Görünüşe göre bu güncellemeleri indiremiyoruz. Görünüşe göre bu tür sorunların giderileceği yer PatchDownloader.log . Ve 'lo orada henüz orada kaydedilen başka hatası:

Trying to connect to the \\SCCM.ad.example.com\root\sms\site_REV namespace on the SCCM.ad.example.com machine.  Software Updates Patch Downloader   6/19/2013 3:42:21 PM    9068 (0x236C)
Connected to \\SCCM.ad.example.com\root\sms\site_REV    Software Updates Patch Downloader   6/19/2013 3:42:21 PM    9068 (0x236C)
GetContentFileInfoForDownload() failed for ContentID 16821994. hRes = 0x80041013 .  Software Updates Patch Downloader   6/19/2013 3:42:21 PM    9068 (0x236C)
ERROR: DownloadContentFiles() failed with hr=0x80041013 Software Updates Patch Downloader   6/19/2013 3:42:21 PM    9068 (0x236C)


Patchengownload.log içindeki Content ID'leri tekrar ruleengine.log dosyasına Error: 4115kaydedilen girişlere koordine edebilirim. beni düzelt.

CMTrace Hata Arama aracını kullanırsam bana hr = hakkında şunları söyler 0x80041013.

Provider load failure

Source: Windows Management (WMI)
-----

Yazılım Güncelleştirmeleri Yama İndiricisi'nin bağlandığı WMI ad alanına bakarsam, yeterince doğru görünmüyor:

\ SCCM.ad.example.com \ root \ sms \ site_REV

Site 004Kodumuz aslında organizasyonumuzun ilk üç harfi REV ile başlayan yeterlidir. Bana sorarsan çok rastlantısal. Ayrıca, bu, burada bulunan ilk SCCM yüklemesi değildir ve önceki SCCM 2007'nin mevcut Sınırlar, Koleksiyonlar ve Paketler'in yeni yüklememize taşındığı ortaya çıktı. Tütsüleme tabancası? Pek değil. Farklı bir site kodu da kullandı. Belki REV site kodu SCCM 2012'nin geçici test kurulumu için kullanıldı? Belki de değil. Kurumsal bilginin REV, işe alınmadan önce gerçekleştirdiğimiz göç ve göç hakkında hiçbir kaydı yoktur .

Ancak - SCCM 2007 örneğindeki eski PatchDownloader.log dosyamız, site_$SITECODEWMI ad alanına bağlanan Yazılım Güncelleştirmeleri Yama İndiricisini gösterir . Ne yazık ki, Mayıs ayından itibaren geçerli 2012 kurulumumuzdan günlüklerim yok, burada doğru WMI ad alanına başvurulduğunu onaylayabilirim.

Trying to connect to the root\SMS namespace on the SCCM07.ad.example.com machine.   Software Updates Patch Downloader   8/3/2011 3:18:37 PM 25128 (0x6228)
Connected to \\SCCM07.ad.example.com\root\SMS   Software Updates Patch Downloader   8/3/2011 3:18:37 PM 25128 (0x6228)
Trying to connect to the \\SCCM07.ad.example.com\root\sms\site_DOR namespace on the  machine.   Software Updates Patch Downloader   8/3/2011 3:18:37 PM 25128 (0x6228)
Connected to \\SCCM07.ad.example.com\root\sms\site_DOR  Software Updates Patch Downloader   8/3/2011 3:18:37 PM 25128 (0x6228)
Download destination = \\SCCM07.ad.example.com\WSUSContent\be128fa4-0c6b-418a-893d-3450e38c658d.1\windows-kb890830-v3.21.exe .  Software Updates Patch Downloader   8/3/2011 3:18:37 PM 25128 (0x6228)
Contentsource = http://download.windowsupdate.com/msdownload/update/software/uprl/2011/07/windows-kb890830-v3.21_2aba440b72071ff17cad1ca2a39f0e40aa85c76e.exe . Software Updates Patch Downloader   8/3/2011 3:18:37 PM 25128 (0x6228)
Downloading content for ContentID = 31068,  FileName = windows-kb890830-v3.21.exe.  Software Updates Patch Downloader   8/3/2011 3:18:37 PM 25128 (0x6228)


TAMAM. Gerçekten WMI ad alanlarında bir sorun gibi görünüyor. SCCM'nin derinliklerinde bir şey, Software Updates Patch Downloader'a \\SCCM.ad.example.com\root\sms\site_REVbunun yerine bağlanmasını söylüyor \\SCCM.ad.example.com\root\sms\site_004.

Bir WAG, ben REVboşuna referanslar için SQL veritabanındaki olası tabloları kontrol ..

SELECT * FROM SysResList WHERE SiteCode = 'REV';
SELECT * FROM SiteControl WHERE SiteCode = 'REV';
SELECT * FROM SiteControlNotification WHERE SiteCode = 'REV';
SELECT * FROM Sites WHERE SiteCode = 'REV';
SELECT * FROM Sites_DATA WHERE SiteCode = 'REV';
SELECT * FROM SiteWork WHERE SiteCode = 'REV';
SELECT * FROM PkgServers WHERE sitecode = 'REV';
SELECT * FROM PkgStatus WHERE sitecode = 'REV';


İşleri daha da karmaşık hale getirmek için 0x80041013hatanın birçok açıklamasını görüyorum .

WMI Sorun Giderme İpuçları bir WMI sağlayıcısının yüklenmesinin başarısız olduğunu söylüyor:

WBEM_E_PROVIDER_LOAD_FAILURE - 0x80041013

Sağlayıcı Olay Sorun Giderme Sınıfları harika bir kaynaktır, ancak biraz bunaltıcı olabilir. MSFT_WmiProvider_LoadOperationFailureEvent sınıfı oldukça sık bulduğum sınıf. Karşılaştığım Sağlayıcı Yükleme Hatalarının çoğu, hatalı bileşen kaydının (kayıt defterinde veya WMI'da) veya ilgili izinlerin sonucudur.

MSDN'deki WMI Hata Sabitleri bunun bir izin sorunu olduğunu söylüyor:

WBEM_E_ACCESS_DENIED 2147749891 (0x80041003) Geçerli kullanıcının işlemi gerçekleştirme izni yok.

0x80041013Hatayla ilgili bulabildiğim diğer tek bilgi , TechNet'te yayınlanan ve WMI ad alanına yanlışlıkla atıfta bulunulan önceki bir SCCM yüklemesine sahip olduğu konuya kadar benimle aynı sorunu olan bir arkadaştı ( örneğin, site_REVyerine site_004). Sonunda WMI ad alanının tamamını ve SMS_ProviderLocation öğelerinin parçalarını söndü. Bunu yapmak istediğimden emin değilim.


Bu noktada, uzun bir gündü, bu sunucuları yamalı ve başım ağrıyor. Herhangi bir tavsiye?


1
Güncelleştirmeleri manuel olarak indirmeyi / dağıtmayı denediniz mi (ADR'yi atlayın)? Ve ... belki ADR'yi silip yeniden oluşturabilir misiniz?
Jason Sypkens

@JasonSypkens - ADR'leri silmek ve yeniden oluşturmak hatayı yeniden üretir ve güncellemeleri manuel olarak indirmek yerine altta yatan sorunu SCCM ile düzeltmeyi tercih ederim - henüz o kadar da umutsuz değiliz.

Birincil site sunucunuzda, WMI ad alanı kökü \ sms \ site_REV var mı? root \ sms \ site_004 mevcut mu? Ayrıca, bu biraz sert olabilir, ancak ... SUP rolünü kaldırıp yeniden eklemeyi ve / veya WSUS'yi yeniden yüklemeyi denediniz mi? Yönetim konsoluma baktım ve SUP'nin yanlış site koduna göre yapılandırılabileceği hiçbir açık nokta göremiyorum.
Jason Sypkens

Yanıtlar:


5

Belki de REVsite kodu SCCM 2012'nin geçici test yüklemesi için kullanıldı? Belki de değil. Kurumsal bilginin REV, işe alınmadan önce gerçekleştirdiğimiz göç ve göç hakkında hiçbir kaydı yoktur .

Bu önsezi doğruydu. Selefi tuttum ve görünüşe göre SCCM 2007'den SCCM 2010'a geçiş için ilk ve başarısız girişim REVsite kodunu kullandı. Bunca zaman WMI'da uykuda kalmayı nasıl başardığı ve neden "aktifleştirildi" benim için tam bir gizem.

Eski ad alanlarının silinmesini öneren ve bunu denemeye karar veren bu TechNet yayınındaki çözümü çok dikkatli bir şekilde yeniden okudum . Bu sorunu çözmüş olsa bile bunu bir cevap olarak işaretlemekten çekiniyorum, özellikle Microsoft'un güvenli bir yaklaşım olup olmadığını doğrulamak için kimseyi "resmi" alamadığım için bunu dolaylı olarak onayladığımı gösteriyor. ya da bunu yapmanın sonuçları nelerdi. Bununla birlikte, devam etmeden önce SCCM sunucunuzun tam yedeklemesine veya en azından WMI hakkında daha fazla bilgi sahibi olduğunuzdan emin olun. Bunu yaparken her şeyi çok kolay kırabilirsiniz, özellikle de benim gibi, WMI ve SCCM'nin ne kadar derinden kullandığı konusunda bilginiz yok.


root\smsSCCM sunucumuzdaki ad alanına bağlanmak için wbemtest kullandım . Buradan [Enum_Instances ...] düğmesini kullandım ve __NAMESPACEüst sınıf olarak aradım . REVSite kodu girişini sildim . Daha sonra SMS_ProviderLocationüst sınıf olarak aynı Enum_Instances yaptım ve bu ad alanından eski site kodunu sildim. Otomatik Dağıtım Kurallarını yeniden çalıştırmak ve PatchDownloader.logher bir Windows Güncellemesinin başarıyla indirildiğini gözden geçirmek .

WBEMTEST __NAMESPACE

WBEMTEST SMS_ProviderLocation

Bu ad alanlarının SCCM tarafından nasıl kullanıldığı ve daha ayrıntılı bir bilgi varsa, sorunun tam olarak nasıl düzeltildiği hakkında daha fazla bilgi için çok teşekkür ederim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.