この記事の内容
- 全体の流れ
- インターネット アクセス要件
- 各ステップとログの追跡方法
- 関連ログ
- ステップ 1 : サイトへの接続とダウンロード情報の取得 [PatchDownloader.log]
- ステップ 2 : インターネットへの接続とダウンロード [PatchDownloader.log]
- ステップ 3 : 信頼性とハッシュの検証 [PatchDownloader.log]
- ステップ 4 : パッケージ ソースへの格納 [PatchDownloader.log]
- ステップ 5 : 自動展開規則側でのダウンロード結果 [ruleengine.log、PatchDownloader.log]
- ステップ 6 : サイト サーバーでのパッケージ更新と転送ジョブの作成 [distmgr.log]
- ステップ 7 : 配布ポイントへのコンテンツ転送 [PkgXferMgr.log]
- ステップ 8 : 配布ポイントでの配置完了 [distmgr.log]
- 参考リンク
皆様、こんにちは。Configuration Manager / WSUS サポート チームです。
本記事では、Microsoft Configuration Manager (ConfigMgr) でソフトウェア更新プログラムのコンテンツをダウンロードしたときの動作を説明します。
対象は、管理者が ConfigMgr コンソールから手動でダウンロードする場合と、自動展開規則 [ADR] がコンテンツをダウンロードする場合です。
また、ダウンロード後に、コンテンツが配布ポイントへ配置されるまでの流れも説明します。
クライアントによるコンテンツの取得、ソフトウェア更新プログラムのインストール、および展開評価の動作は、本記事の対象外です。
全体の流れ
ソフトウェア更新プログラムのコンテンツは、概ね次の順序で処理されます。
- インターネット上またはネットワーク上のダウンロード元から、ソフトウェア更新プログラムのファイルを取得します。
- 取得したファイルの信頼性やハッシュを検証します。
- 検証済みのファイルを、展開パッケージのパッケージ ソースへ格納します。
- サイト サーバーのコンテンツ ライブラリへコンテンツを取り込みます。
- 展開パッケージに関連付けられた配布ポイントのコンテンツ ライブラリへコンテンツを転送します。
ConfigMgr コンソールから手動でダウンロードする場合
管理者が [ソフトウェア更新プログラムのダウンロード ウィザード] を完了すると、ウィザードを実行した ConfigMgr コンソール コンピューター上でダウンロード処理が開始されます。
ウィザードでは、次のいずれかのダウンロード元を選択します。
- [インターネットからソフトウェア更新プログラムをダウンロードする]
- [ネットワーク上の場所からソフトウェア更新プログラムをダウンロードする]
前者を選択した場合、ConfigMgr コンソール コンピューターが、更新プログラムのカタログ上に記録された [コンテンツ ソース] へ直接接続します。
後者は、ConfigMgr コンソール コンピューターからインターネットへ接続できない場合に、事前に別のコンピューターで取得したファイルをネットワーク上の場所から読み込む用途で使用できます。
また、コンテンツはユーザーの一時フォルダーへダウンロードしています。
その後、ファイルの信頼性とハッシュを検証し、展開パッケージのパッケージ ソースへ移動しています。
パッケージ ソースには、ConfigMgr コンソールで指定した UNC パスを使用します。ウィザードを実行する管理者ユーザーと SMS Provider のコンピューター アカウントの両方に、この場所への書き込み権限が必要です。
自動展開規則でダウンロードする場合
自動展開規則では、サイト サーバー上の [Rule Engine] が規則を評価し、対象となるソフトウェア更新プログラムのコンテンツをダウンロードします。
既定では、自動展開規則を作成したサイトのサイト サーバーの [Local System] アカウントが、インターネットへの接続とダウンロードを実行します。
自動展開規則でプロキシを使用する場合は、次の両方を確認します。
- [管理] - [サイトの構成] - [サーバーとサイト システムの役割] から、対象サイト システムの [プロキシ] を構成します。
- [ソフトウェアの更新ポイント] のプロパティにある [プロキシとアカウントの設定] で、[自動展開規則を使用してコンテンツをダウンロードするときにプロキシ サーバーを使用する] を有効にします。
手動ダウンロードと自動展開規則のすみ分け
手動ダウンロードと自動展開規則では、インターネットへ接続してコンテンツを取得するコンピューターと、使用するプロキシ設定が異なります。
| 項目 | ConfigMgr コンソールからの手動ダウンロード | 自動展開規則 [ADR] |
|---|---|---|
| 開始方法 | ConfigMgr コンソールの [ソフトウェア更新プログラムのダウンロード ウィザード] から開始します。 | サイト サーバーの [Rule Engine] が規則のスケジュールまたは手動実行を処理します。 |
| ダウンロードの実行場所 | ウィザードを実行している ConfigMgr コンソール コンピューターです。 | 自動展開規則を作成したサイトのサイト サーバーです。 |
| [PatchDownloader.log] の場所 | ウィザードを実行したユーザーの [%TEMP%] 配下です。 | サイト サーバーの ConfigMgr ログ フォルダーです。 |
| インターネット アクセスが必要な場所 | [インターネットからソフトウェア更新プログラムをダウンロードする] を選択した場合、ConfigMgr コンソール コンピューターからコンテンツの URL へアクセスできる必要があります。 | サイト サーバーからコンテンツの URL へアクセスできる必要があります。 |
| 主なプロキシ設定 | ConfigMgr コンソール コンピューター上で、ダウンロードを実行するプロセスが参照できるプロキシ設定を使用します。 | [サイト システム] のプロキシ設定と、ソフトウェアの更新ポイントの [自動展開規則を使用してコンテンツをダウンロードするときにプロキシ サーバーを使用する] の設定を使用します。 |
| 既定の実行コンテキスト | ウィザードを実行した管理者ユーザーです。 | 自動展開規則を作成したサイトのサイト サーバーの [Local System] アカウントです。必要に応じて [サイト システム プロキシ サーバー アカウント] を構成します。 |
| パッケージ ソースへの書き込み | ウィザードを実行した管理者ユーザーに書き込み権限が必要です。 | サイト サーバー側の処理でパッケージ ソースへ格納します。 |
重要な点は、ソフトウェアの更新ポイントに構成した [自動展開規則用のプロキシ] は、ConfigMgr コンソールから手動で実行したダウンロードには適用されないことです。
手動ダウンロードに失敗する場合は ConfigMgr コンソール コンピューター側、自動展開規則に失敗する場合はサイト サーバーおよびサイト システム側のネットワークとプロキシを確認します。
配布ポイントへのコンテンツ配置
[PatchDownloader.log] でパッケージ ソースへの格納が完了した後、ConfigMgr は次の処理を行います。
- [Distribution Manager] がパッケージ ソースの変更を検出し、展開パッケージをサイト サーバーのコンテンツ ライブラリへ取り込みます。
- [Distribution Manager] が、対象の配布ポイントごとにパッケージ転送ジョブを作成します。
- [Package Transfer Manager] がコンテンツを配布ポイントへ転送します。
- 配布ポイント側の処理結果がサイト サーバーへ返され、[Distribution Manager] がパッケージの配布状態を更新します。
この処理は、インターネットから更新ファイルを取得する処理とは別です。
配布ポイントは通常、展開パッケージのコンテンツをサイト サーバー側から受信します。
インターネット アクセス要件
インターネットからコンテンツをダウンロードするコンピューターは、次の公開情報に記載のインターネット アクセス要件を許可する必要があります。
各ステップとログの追跡方法
関連ログ
| ログ名 | 保存場所 | 主な用途 |
|---|---|---|
| [PatchDownloader.log] | 手動ダウンロードでは ConfigMgr コンソールを実行したユーザーの [%TEMP%]、自動展開規則ではサイト サーバーの ConfigMgr ログ フォルダー | ダウンロード元、ダウンロード先、一時ファイル、進捗、プロキシ使用、信頼性検証、ハッシュ検証、パッケージ ソースへの格納を確認します。 |
| [ruleengine.log] | サイト サーバー | 自動展開規則の評価、ダウンロード ソースの選択、各 ContentID のダウンロード結果を確認します。 |
| [distmgr.log] | サイト サーバー | パッケージの作成または更新、コンテンツ ライブラリへの取り込み、配布ポイント向け転送ジョブの作成、配布状態を確認します。 |
| [PkgXferMgr.log] | サイト サーバー | 配布ポイントへの実際のコンテンツ転送を確認します。 |
ステップ 1 : サイトへの接続とダウンロード情報の取得 [PatchDownloader.log]
手動ダウンロードでは、最初に ConfigMgr コンソール コンピューターからサイト サーバーの WMI 名前空間へ接続します。
その後、パッケージ ソース上のダウンロード先とインターネット上の [コンテンツ ソース] を取得します。
1 | Trying to connect to the root\SMS namespace on the <SiteServer> machine. |
ステップ 2 : インターネットへの接続とダウンロード [PatchDownloader.log]
次の例では、プロキシが有効であり、レジストリ設定または既定値を使用してダウンロードを開始しています。[in progress] の値により、ファイル単位の進捗を確認できます。
1 | Downloading content for ContentID = 16845509, FileName = <FileName>. |
[returns 0] は、対象ファイルの一時フォルダーへのダウンロードが成功したことを示します。
この記録がなく、HTTP エラーや WinHTTP / WinINET のエラーが記録されている場合は、ConfigMgr コンソール コンピューターまたはサイト サーバーの名前解決、ファイアウォール、プロキシ、およびプロキシ認証を確認します。
ステップ 3 : 信頼性とハッシュの検証 [PatchDownloader.log]
ダウンロードが完了すると、一時ファイルの信頼性とハッシュが検証されます。
1 | Verifying file trust C:\Users\<User>\AppData\Local\Temp\<Session>\<TempFile> |
[File trust … verified] と [File hash verified] の両方が記録されていれば、対象ファイルの検証は完了しています。
ここで失敗する場合は、一時ファイルの破損、セキュリティ製品による変更、証明書の信頼関係、またはパッケージ ソースへ移動する前のファイル操作を確認します。
ステップ 4 : パッケージ ソースへの格納 [PatchDownloader.log]
検証済みファイルは、指定したパッケージ ソースへ移動されます。すべての対象ファイルを格納した後、一時的なフォルダー名から正式なフォルダー名へ変更されます。
1 | Successfully moved C:\Users\<User>\AppData\Local\Temp\<Session>\<TempFile> to \\<PackageSource>\<TemporaryFolder>\<FileName> |
最後の [Successfully moved] まで記録されていれば、[PatchDownloader] によるパッケージ ソースへの格納は完了しています。
ここで失敗する場合は、ウィザードを実行した管理者ユーザーと SMS Provider のコンピューター アカウントの共有アクセス権および NTFS アクセス権、空き容量、ファイル ロックを確認します。
ステップ 5 : 自動展開規則側でのダウンロード結果 [ruleengine.log、PatchDownloader.log]
自動展開規則の場合は、[ruleengine.log] で規則の処理とダウンロード結果を確認します。
1 | CRuleHandler: Processing Rule with ID:3, Name:<ADRName>. |
[Processing Rule] で対象規則の開始、[Source Name] でダウンロード元と優先順位、[Successfully downloaded] で ContentID 単位の成功を確認できます。
ファイル単位の URL、進捗、検証、パッケージ ソースへの移動は、同じ時間帯のサイト サーバー側 [PatchDownloader.log] で確認します。
ステップ 6 : サイト サーバーでのパッケージ更新と転送ジョブの作成 [distmgr.log]
[distmgr.log] では、パッケージ ソースの変更検出、パッケージの更新、および配布ポイント向け転送ジョブの作成を確認します。
1 | The source for package PS100018 has changed or the package source needs to be refreshed |
[Successfully created/updated the package] まで記録されていれば、サイト側でのパッケージ更新が完了しています。
[Created package transfer job] まで記録されていれば、対象配布ポイント向けの転送処理が [Package Transfer Manager] に引き渡されています。
ステップ 7 : 配布ポイントへのコンテンツ転送 [PkgXferMgr.log]
[PkgXferMgr.log] では、パッケージ ID、コンテンツ ID、および配布ポイント上の転送先を確認します。
1 | Sending content 252ad9d5-8bcb-4805-8f20-5a7639da8140 for package PS100018 |
[Sending content] が記録されていれば、対象コンテンツの転送が開始されています。
[Adding … file] では、転送対象に含まれるファイルを確認できます。
ステップ 8 : 配布ポイントでの配置完了 [distmgr.log]
配布ポイントから状態が返されると、[distmgr.log] にパッケージ サーバー状態の更新が記録されます。今回の保存ログでは、処理中の [Status 0] の後に [Status 3] が記録されています。
1 | Processing status update for package PS100018 |
[Status 3] と状態メッセージ ID [2330] が記録されていれば、対象配布ポイントでパッケージの配置が完了したことを確認できます。
ConfigMgr コンソールでは、[監視] - [配布ステータス] - [コンテンツのステータス] から、対象の展開パッケージと配布ポイントの状態をあわせて確認してください。