SCCM 2012 SP1 - DownloadContentFiles () hr = 0x80041013 के साथ विफल


15

हमने देखा कि सॉफ़्टवेयर अद्यतनों के लिए हमारे स्वत: परिनियोजन नियम स्वचालित रूप से Microsoft से इस महीने के पैच को स्वचालित रूप से डाउनलोड और लागू करने में विफल रहे, हालांकि वे कैटलॉग में सही ढंग से सूचीबद्ध हैं।

SCCM सॉफ्टवेयर अपडेट कैटलॉग में सूचीबद्ध हैं


स्वचालित परिनियोजन नियम 0X87D20417"अंतिम परिनियोजन नियम विफल" के रूप में उनके अंतिम त्रुटि कोड और अंतिम त्रुटि विवरण को सूचीबद्ध करते हैं । नियमों को फिर से चलाना मैन्युअल रूप से इस त्रुटि को पुन: पेश करता है। स्वचालित परिनियोजन नियमों को हटाना और फिर से तैयार करना भी उसी त्रुटि को पुन: पेश करता है।

SMS_RULE_ENGINE लॉग देखना निम्न त्रुटियों को दर्शाता है:

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.   


अगर मैं नियम के अनुसार देखती हूं। क्लॉग (जो संभवतः लॉग फाइल है जिसे SCCM के भीतर उच्च स्तर के SMS_RULE_ENGINE लॉग से जनरेट किया जाता है) और संबंधित डिप्लॉयमेंट पैकेज के लिए पैकेज आईडी को समन्वित करें जो कि इन अपडेट को इन अपडेट में रखने वाले हैं। निम्नलिखित ढूंढे:

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)


इस बिंदु पर, मेरे पास तीन अलग-अलग त्रुटियां हैं जो मुझे विश्वास है कि सभी एक ही घटना से उत्पन्न होते हैं। बेशक, वे नहीं हो सकते हैं यही कारण है कि वे सभी यहां शामिल हैं। मैंने लॉग फ़ाइलों में समय का समन्वय किया और मुझे विश्वास है कि वे सभी स्वत: परिनियोजन नियमों के साथ समस्या से संबंधित हैं।

  • 0X87D20417 - SCCM कंसोल के स्वचालित परिनियोजन नियमों से
  • 8706 - SCCM के कंसोल के मॉनिटरिंग SMS_RULE_ENGINE लॉग से
  • Error code = 4115 - SCCM साइट से सर्वर लॉग [SCCMInstallationPath] \ Logs \ ruleengine .log से


ऐसा लगता है कि हम उन अपडेट को डाउनलोड करने में सक्षम नहीं हैं। जाहिरा तौर पर उस तरह की समस्या का निवारण करने के लिए जगह है PatchDownloader.log । और 'लो वहाँ अभी तक एक और त्रुटि दर्ज की गई है:

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)


मैं PatchDownloader.log में कंटेंट आईडी को नियम के अनुसार Error: 4115दर्ज की गई प्रविष्टियों में सम्‍मिलित कर सकता हूं। मुझे सही करो।

अगर मैं CMTrace के एरर लुकअप टूल का उपयोग करता हूं तो यह मुझे hr = के बारे में बताता है 0x80041013

Provider load failure

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

और इतना ज़रूर है कि अगर मैं WMI के नामस्थान को देखता हूँ तो सॉफ्टवेयर अपडेट पैच डाउनलोडर से जुड़ रहा है, यह बिलकुल सही नहीं लगता:

\ SCCM.ad.example.com \ जड़ \ sms \ site_REV

हमारा साइट कोड वास्तव में 004और मजेदार है और हमारे संगठन के पहले तीन अक्षर आरईवी से शुरू होता है। यदि आप मुझसे पूछें तो शक्तिशाली संयोग। इसके अलावा, यह पहली SCCM स्थापित नहीं है जो यहां मौजूद है और यह पता चला है कि पिछले SCCM 2007 में मौजूदा सीमाएं, संग्रह और पैकेज हमारे नए स्थापित किए गए थे। धूम्रपान बंदूक? काफी नहीं। इसने एक अलग साइट कोड का भी इस्तेमाल किया। शायद SCVM 2012 की अस्थायी परीक्षण स्थापना के लिए REV साइट कोड का उपयोग किया गया था? शायद नहीं। संस्थागत ज्ञान का कोई रिकॉर्ड नहीं है REVऔर मेरे द्वारा काम पर रखने से पहले हमने जो प्रवास किया था।

हालाँकि - SCCM 2007 उदाहरण से हमारा पुराना PatchDownloader.log सॉफ्टवेयर अपडेट पैच डाउनलोडर को site_$SITECODEWMI नामस्थान से जोड़ता है । दुर्भाग्य से, मेरे पास मई 2012 से हमारे वर्तमान स्थापित से लॉग नहीं हैं जहां मैं पुष्टि कर सकता हूं कि सही WMI नामस्थान को संदर्भित किया जा रहा है।

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)


ठीक। यह वास्तव में WMI नामस्थान के साथ एक समस्या की तरह दिखता है। कहीं SCCM की गहराई में है, तो कोई \\SCCM.ad.example.com\root\sms\site_REVइसके बजाय कनेक्ट करने के लिए सॉफ़्टवेयर अपडेट पैच डाउनलोडर बता रहा है \\SCCM.ad.example.com\root\sms\site_004

WAG पर, मैंने SQL डेटाबेस में संभावित तालिका REVको बिना किसी लाभ के संदर्भ के लिए जाँच लिया ।

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';


चीजों को और जटिल करने के लिए मैं 0x80041013त्रुटि के कई स्पष्टीकरण देख रहा हूं ।

WMI समस्या निवारण युक्तियाँ कहती हैं कि WMI प्रदाता को लोड करना विफलता है:

WBEM_E_PROVIDER_LOAD_FAILURE - 0x80041013

प्रदाता घटना समस्या निवारण कक्षाएं एक महान संसाधन हैं, लेकिन थोड़ा भारी हो सकता है। MSFT_WmiProvider_LoadOperationFailureEvent वर्ग वह है जिसे मैंने बहुत बार उपयोगी पाया है। अधिकांश प्रदाता लोड विफलताएँ मुझे खराब घटक पंजीकरण (या तो रजिस्ट्री या WMI में), या संबंधित अनुमतियों के परिणामस्वरूप हुई हैं।

जबकि MSDN के WMI त्रुटि स्थिरांकों का कहना है कि यह एक अनुमति समस्या है:

WBEM_E_ACCESS_DENIED 2147749891 (0x80041003) वर्तमान उपयोगकर्ता के पास कार्रवाई करने की अनुमति नहीं है।

0x80041013त्रुटि पर मुझे मिल सकने वाली एकमात्र अन्य जानकारी TechNet पर पोस्ट किया गया एक साथी था, जो मेरे जैसा ही मुद्दा रखता था, यहां तक ​​कि इस मुद्दे पर भी जहां उसने SCCM की पिछली स्थापना की थी, जिसका WMI नेमस्पेस गलती से संदर्भित किया जा रहा था ( जैसे, site_REVइसके बजाय site_004)। उन्होंने संपूर्ण WMI नामस्थान और साथ ही SMS_ProviderLocation के कुछ हिस्सों को समाप्त कर दिया। मुझे यकीन नहीं है कि मैं ऐसा करना चाहता हूं।


इस बिंदु पर, यह एक लंबा दिन रहा है, हमें इन सर्वरों को पैच करने की आवश्यकता है और मेरे सिर में दर्द होता है। कोई सुझाव?


1
क्या आपने मैन्युअल रूप से अपडेट (ADR को छोड़ें) को डाउनलोड / परिनियोजित करने का प्रयास किया है? और ... शायद एडीआर को हटाएं और फिर से बनाएं?
जेसन सिपकेन्स

@JasonSypkens - ADRs को हटाना और उन्हें फिर से बनाना त्रुटि को पुन: उत्पन्न करता है और मैं वास्तव में अपडेट को मैन्युअल रूप से डाउनलोड करने के बजाय SCCM के साथ अंतर्निहित समस्या को ठीक करूंगा - हम अभी तक हताश नहीं हैं।

आपके प्राथमिक साइट सर्वर पर, WMI नेमस्पेस रूट \ sms \ site_REV मौजूद है? क्या रूट \ sms \ site_004 मौजूद है? इसके अलावा, यह थोड़ा कठोर हो सकता है, लेकिन ... क्या आपने SUPUS को हटाने और पुनः जोड़ने की कोशिश की है, और / या WSUS को पुनः स्थापित कर रहे हैं? मैंने अपने प्रबंधन कंसोल के माध्यम से देखा है और मुझे कोई भी स्पष्ट बिंदु दिखाई नहीं देता है जहां SUP को गलत साइट कोड में कॉन्फ़िगर किया जा सकता है।
जेसन सिपकेन्स

जवाबों:


5

शायद REVSCCM 2012 की अस्थायी परीक्षण स्थापना के लिए साइट कोड का उपयोग किया गया था? शायद नहीं। संस्थागत ज्ञान का कोई रिकॉर्ड नहीं है REVऔर मेरे द्वारा काम पर रखने से पहले हमने जो प्रवास किया था।

यह कूबड़ सही था। मुझे अपने पूर्ववर्ती की पकड़ मिली और जाहिरा तौर पर SCCM 2007 से SCCM 2010 में प्रवास करने का पहला और असफल प्रयास REVसाइट कोड का उपयोग किया । यह इस समय WMI में सुप्त कैसे बैठे और यह "सक्रिय" क्यों हुआ यह मेरे लिए एक पूर्ण रहस्य है।

मैं इस TechNet पोस्ट में समाधान को बहुत ध्यान से पढ़ता हूं जिसने पुराने नामस्थानों को हटाने की सलाह दी है और यह कोशिश करने का फैसला किया है। मैं इसे एक जवाब के रूप में चिह्नित करने में संकोच करता हूं, भले ही इसने इस मुद्दे को हल किया हो, यह इंगित करता है कि मैं इसे स्पष्ट रूप से स्वीकार करता हूं, खासकर जब से मैं Microsoft में किसी को "आधिकारिक" नहीं मिला, यह पुष्टि करने के लिए कि क्या यह एक सुरक्षित दृष्टिकोण था या नहीं। या ऐसा करने के क्या परिणाम थे। कहा जा रहा है, सुनिश्चित करें कि आपके पास अपने SCCM सर्वर का पूरा बैकअप है या आगे बढ़ने से पहले कम से कम WMI का अधिक गहन ज्ञान है। ऐसा करने से आप बहुत आसानी से सब कुछ तोड़ सकते हैं, खासकर अगर मेरी तरह, आप WMI से परिचित नहीं हैं और SCCM इसका कितना गहरा लाभ उठाता है।


मैंने root\smsहमारे SCCM सर्वर पर नाम स्थान से कनेक्ट करने के लिए wbemtest का उपयोग किया । वहां से मैंने [Enum_Instances ...] बटन का इस्तेमाल किया और सुपरक्लास के __NAMESPACEरूप में खोज की । मैंने REVसाइट कोड के लिए प्रविष्टि हटा दी है । फिर मैंने सुपरक्लास के लिए समान Enum_Instances किया SMS_ProviderLocationऔर उस नाम स्थान से पुराने साइट कोड को हटा दिया। स्वचालित परिनियोजन नियमों को फिर से चलाना और PatchDownloader.logप्रत्येक विंडोज अपडेट के सफल डाउनलोडिंग की समीक्षा करना ।

WBEMTEST __NAMESPACE

WBEMTEST SMS_ProviderLocation

मैं SCCM द्वारा इन नामस्थानों का उपयोग कैसे किया जाता है, इसके बारे में अधिक जानकारी की सराहना करता हूं और यदि किसी के पास अधिक विस्तृत जानकारी है तो इस मुद्दे को कैसे ठीक किया जाए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.