Мы заметили, что в наших Правилах автоматического развертывания обновлений программного обеспечения не удалось автоматически загрузить и применить исправления этого месяца от Microsoft, хотя они правильно перечислены в каталоге.
В правилах автоматического развертывания указан их код последней ошибки как 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
- Из правил автоматического развертывания консоли SCCM8706
- Из журнала мониторинга консоли SCCM SMS_RULE_ENGINEError 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. Я не уверен, что хочу это сделать.
На данный момент, это был долгий день, нам нужно исправить эти серверы, и у меня болит голова. Любой совет?
Ответы:
Эта догадка была правильной. Я ухватился за своего предшественника и, по-видимому, первая и неудачная попытка перехода с 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.Я был бы очень признателен за дополнительную информацию о том, как эти пространства имен используются SCCM и как именно это решило проблему, если у кого-то есть более подробная информация.
источник