SCCM 2012 SP1-hr = 0x80041013でDownloadContentFiles()が失敗しました


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(おそらくSCCM内の上位レベルのSMS_RULE_ENGINEログが生成されるログファイル)を調べ、自動展開ルールがこれらの更新を配置することになっている関連展開パッケージのパッケージIDを調整する場合以下を見つけます:

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)


この時点で、3つの異なるエラーがあり、それらはすべて同じイベントによって生成されたと考えています。もちろん、そうではないかもしれないので、ここにすべて含まれています。ログファイルの時間を調整しましたが、これらはすべて自動展開ルールの問題に関連していると確信しています。

  • 0X87D20417 -SCCMコンソールの自動展開ルールから
  • 8706 -SCCMのコンソールのモニタリングSMS_RULE_ENGINEログから
  • Error code = 4115 -[SCCMInstallationPath] \ Logs \ ruleengine.logのSCCMサイトサーバーログから


これらの更新をダウンロードできないようです。どうやらその種の問題をトラブルシューティングする場所は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のコンテンツIDをruleengine.logにError: 4115記録されたエントリに戻すことができるので、前述のように、これらのさまざまなエラーをすべて生成する同じイベントを見ていたはずです。私を修正してください。

CMTraceのエラー検索ツールを使用すると、hr =について次のことがわかり0x80041013ます。

Provider load failure

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

そして、Software Updates Patch Downloaderが接続しているWMI名前空間を見ると、まったく正しく見えません。

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

私たちのサイトコードは、実に004面白いことに、組織の最初の3文字がREVで始まっています。あなたが私に尋ねるならば、偶然の偶然。さらに、これはここに存在した最初のSCCMインストールではなく、以前のSCCM 2007が既存の境界、コレクション、パッケージを新しいインストールに移行したことがわかります。喫煙銃?そうでもない。別のサイトコードも使用しました。おそらく、REVサイトコードはSCCM 2012の一時的なテストインストールに使用されたのでしょうか?おそらくない。制度的知識には、REVそれと私が採用される前に行った移行の記録がありません。

ただし、SCCM 2007インスタンスの古いPatchDownloader.logには、site_$SITECODEWMI名前空間に接続しているSoftware Updates Patch Downloaderが表示されます。残念ながら、正しいWMI名前空間が参照されていることを確認できた5月からの現在の2012インストールのログはありません。

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の奥深くのどこかで、Software Updates Patch Downloaderにの\\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エラーで見つけた他の情報は、WMI名前空間が誤って参照されていたSCCMの以前のインストールまで、私と同じ問題を抱えていると思われるTechNet投稿した仲間だけでした(たとえば、)のsite_REV代わりにsite_004。彼は最終的に、WMI名前空間全体とSMS_ProviderLocationの一部を削除しました。私はそれをやりたいとは思いません。


この時点では、長い日でした。これらのサーバーにパッチを適用する必要があり、頭が痛いです。何かアドバイス?


1
更新プログラムを手動でダウンロード/展開しようとしましたか(ADRをスキップします)?そして...多分ADRを削除して再作成しますか?
ジェイソンサイプケンス

@JasonSypkens-ADRを削除して再作成するとエラーが再現されるため、更新プログラムを手動でダウンロードするのではなく、SCCMで根本的な問題を修正したい-まだそれほど必死ではありません。

プライマリサイトサーバーに、WMI名前空間root \ sms \ site_REVが存在しますか?root \ sms \ site_004は存在しますか?また、これは少し抜本的かもしれませんが、... SUPの役割を削除して再追加したり、WSUSを再インストールしたりしたことがありますか?管理コンソールに目を通しましたが、SUPが間違ったサイトコードに設定される可能性のある明確なポイントが見当たりません。
ジェイソンサイプケンス

回答:


5

おそらく、REVサイトコードはSCCM 2012の一時的なテストインストールに使用されたのでしょうか?おそらくない。制度的知識には、REVそれと私が採用される前に行った移行の記録がありません。

この予感は正しかった。前任者を把握しましたが、どうやらSCCM 2007からSCCM 2010への移行の最初の失敗した試みはREVサイトコードを使用していたようです。この間ずっとWMIで休止状態になった方法と、それが「アクティブ化」された理由は、私にとって完全な謎です。

このTechNetの投稿で、古いネームスペースを削除することを勧めたソリューションを非常に注意深く読み直し、それを試すことにしました。この問題を解決できたとしても、これを回答としてマークすることをheします。これは暗黙のうちに承認することを示しています。またはこれを行うことの結果はどうでしたか。そうは言っても、先に進む前に、SCCMサーバーの完全なバックアップがあること、または少なくともWMIの詳細な知識があることを確認してください。これを行うすべてを簡単に破ることができます。特に私のように、WMIとSCCMがどれだけ深くそれを活用しているかに詳しくない場合は。


wbemtestを使用してroot\sms、SCCMサーバー上の名前空間に接続しました。そこから[Enum_Instances ...]ボタンを使用し__NAMESPACEて、スーパークラスとして検索します。REVサイトコードのエントリを削除しました。次にSMS_ProviderLocation、スーパークラスと同じEnum_Instancesを実行し、その名前空間から古いサイトコードを削除しました。自動展開ルールを再実行し、PatchDownloader.log各Windows Updateのダウンロードが成功したことを確認します。

WBEMTEST __NAMESPACE

WBEMTEST SMS_ProviderLocation

SCCMでこれらの名前空間がどのように使用されているか、さらに詳細な情報がある場合に問題がどのように修正されたかについて、さらに情報をいただければ幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.