web-dev-qa-db-ja.com

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

ソフトウェア更新プログラムの自動展開ルールが Microsoft から今月のパッチを自動的にダウンロードして適用できないことに気づきましたが、カタログに正しくリストされています。

SCCM Software Updates Listed in Catalog


自動展開ルールには、最後のエラーコードが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-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のコンテンツIDを調整して、ruleengine.logに記録されたError: 4115エントリに戻すことができるため、前述のように、これらの異なるエラーをすべて生成する同じイベントを確認していたことは確かですが、誰かがよりよく知っている場合は私を修正してください。

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

Provider load failure

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

そして、ソフトウェア更新プログラムパッチダウンローダーが接続しているWMI名前空間を確認しても、まったく正しくありません。

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

私たちのサイトコードは実際には004であり、おかしなことに、組織の最初の3文字はREVで始まります。あなたが私に尋ねるなら、たまたま偶然です。さらに、これはここに存在した最初のSCCMインストールではなく、以前のSCCM 2007に既存の境界、コレクション、パッケージが新規インストール。ガンの喫煙?違います。別のサイトコードも使用しました。おそらくREVサイトコードは、SCCM 2012? REVの記録と、私が採用される前に行った移行の記録がない。

ただし、SCCM 2007インスタンスの古いPatchDownloader.logには、site_$SITECODE WMI名前空間に接続しているソフトウェアアップデートパッチダウンローダーが表示されています。残念ながら、現在の2012年のログはありません5月からインストールすると、正しい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では、REVへの参照がないかSQLデータベース内の可能性のあるテーブルを確認しましたが、役に立ちませんでした。

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の例です。これを実行する必要があるかどうかはわかりません。


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

15
user62491

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

この直感は正しかった。私は前任者を手に入れましたが、明らかにSCCM 2007からSCCM 2010はREVサイトコードを使用しました。なぜWMIでこれまでずっと休眠状態を維持できたのか、なぜそれが "アクティブ"になったのかは、私にとって完全な謎です。

古い名前空間を削除するようアドバイスし、これを試すことにしたこの TechNet の投稿で、ソリューションを非常に注意深く読み直しました。この問題は解決しましたが、回答としてマークすることをためらうのは、私が暗黙のうちにそれを承認していることを示しています。特に、これが安全なアプローチであるかどうかをMicrosoftの「公式」担当者に確認することができなかったためです。またはこれを行うことの結果は何でしたか。そうは言っても、続行する前に、SCCM=サーバーまたは少なくともWMIのはるかに親密な知識がある)の完全なバックアップがあることを確認してください。特に、私のようにこれを行うと、非常に簡単にすべてを壊すことができます。あなたはWMIに慣れておらず、SCCMがWMIをどの程度活用するかを理解していません。


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

WBEMTEST __NAMESPACE

WBEMTEST SMS_ProviderLocation

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

5
user62491