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.   


Если я просматриваю файл ruleengine.log (который, по-видимому, является файлом журнала, из которого создается журнал SMS_RULE_ENGINE более высокого уровня в SCCM) и координирую идентификатор пакета для соответствующих пакетов развертывания, в которых правила автоматического развертывания должны помещать эти обновления в I найти следующее:

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записями, записанными в ruleengine.log, поэтому, как уже упоминалось ранее, я почти уверен, что смотрю на одно и то же событие, генерирующее все эти разные ошибки, но если кто-то знает лучше, пожалуйста, исправь меня.

Если я использую инструмент поиска ошибок CMTrace, он говорит мне следующее о hr = 0x80041013.

Provider load failure

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

И, разумеется, если я посмотрю на пространство имен WMI, к которому подключается Patch Downloader для обновлений программного обеспечения, оно выглядит не совсем правильно:

\ SCCM.ad.example.com \ корень \ смс \ site_REV

Наш код сайта на самом деле, как ни 004странно, первые три буквы нашей организации начинаются с REV. Могу случайно, если вы спросите меня. Кроме того, это не первая установка SCCM, которая существовала здесь, и оказывается, что предыдущий SCCM 2007 перенес существующие границы, коллекции и пакеты в нашу новую установку. Дымящийся пистолет? Не совсем. Он также использовал другой код сайта. Возможно, код сайта REV использовался для временной тестовой установки SCCM 2012? Возможно нет. Институциональные знания не имеют никакой записи об REVэтом и о миграции, которую мы выполнили до того, как меня наняли.

Однако - наш старый файл PatchDownloader.log из экземпляра SCCM 2007 показывает загрузчик исправлений обновлений программного обеспечения, подключающийся к site_$SITECODEпространству имен WMI. К сожалению, у меня нет журналов с нашей текущей установки 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)


OK. Это действительно похоже на проблему с пространствами имен 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) или связанных с разрешениями.

В то время как константы ошибок WMI из MSDN говорят, что это проблема с разрешениями:

WBEM_E_ACCESS_DENIED 2147749891 (0x80041003) У текущего пользователя нет прав на выполнение действия.

Единственной другой информацией, которую я смог найти по этой 0x80041013ошибке, был сотрудник, разместивший в TechNet, который, похоже, имел ту же проблему, что и я, вплоть до проблемы, когда у него была предыдущая установка SCCM, на чье пространство имен WMI ошибочно ссылались ( например, site_REVвместо site_004). В итоге он обстрелял все пространство имен WMI, а также части местоположения SMS_ProviderLocation. Я не уверен, что хочу это сделать.


На данный момент, это был долгий день, нам нужно исправить эти серверы, и у меня болит голова. Любой совет?


1
Вы пробовали загружать / развертывать обновления вручную (пропустить ADR)? И ... может быть, удалить и заново создать ADR?
Джейсон Сипкенс

@JasonSypkens - удаление ADR и воссоздание их воспроизводит ошибку, и я бы скорее решил исправить основную проблему с SCCM, чем загружать обновления вручную - мы пока не совсем так отчаялись.

Существует ли на вашем основном сервере сайта корень пространства имен WMI \ sms \ site_REV? root \ sms \ site_004 существует? Кроме того, это может быть немного радикальным, но ... вы пытались удалить и повторно добавить роль SUP и / или переустановить WSUS? Я просмотрел консоль управления и не вижу очевидной точки, в которой SUP можно было бы настроить на неправильный код сайта.
Джейсон Сипкенс

Ответы:


5

Возможно, REVкод сайта использовался для временной тестовой установки SCCM 2012? Возможно нет. Институциональные знания не имеют никакой записи об REVэтом и о миграции, которую мы выполнили до того, как меня наняли.

Эта догадка была правильной. Я ухватился за своего предшественника и, по-видимому, первая и неудачная попытка перехода с SCCM 2007 на SCCM 2010 использовала REVкод сайта. Как ему все это время бездействовало в WMI и почему он был «активирован», для меня остается загадкой.

Я очень внимательно перечитал решение в этом посте TechNet, в котором посоветовал удалить старые пространства имен и решил попробовать это. Я не решаюсь отметить это как ответ, даже если это действительно решило эту проблему, но это означает, что я неявно одобряю это, тем более что я не смог заставить кого-то "официального" в Microsoft подтвердить, был ли это безопасный подход или нет или каковы были последствия для этого. При этом, прежде чем продолжить, убедитесь, что у вас есть полные резервные копии вашего сервера SCCM или хотя бы гораздо более глубокие знания WMI. Делая это, вы можете легко сломать все, особенно если вы, как и я, не знакомы с WMI и тем, насколько глубоко SCCM использует его.


Я использовал wbemtest для подключения к root\smsпространству имен на нашем сервере SCCM. Оттуда я использовал кнопку [Enum_Instances ...] и искал в __NAMESPACEкачестве суперкласса. Я удалил запись для REVкода сайта. Затем я сделал то же самое для Enum_Instances, что и для SMS_ProviderLocationсуперкласса, и удалил старый код сайта из этого пространства имен. Повторное выполнение правил автоматического развертывания и проверка PatchDownloader.logпоказала успешную загрузку каждого обновления Windows.

WBEMTEST __NAMESPACE

WBEMTEST SMS_ProviderLocation

Я был бы очень признателен за дополнительную информацию о том, как эти пространства имен используются SCCM и как именно это решило проблему, если у кого-то есть более подробная информация.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.