ソフトウェア更新プログラムのインストール

Configuration Manager (現在のブランチ) に適用

[ソフトウェアのインストール] 更新手順は、一般的にConfiguration Managerタスク シーケンスで使用されます。 OS をインストールまたは更新するときに、ソフトウェア更新プログラム コンポーネントをトリガーして、更新プログラムをスキャンして展開します。 この手順により、タイムアウト時間の長い遅延や更新プログラムの見逃しなど、一部のお客様に課題が発生する可能性があります。 この記事の情報を使用して、この手順に関する一般的な問題を軽減し、問題が発生した場合のトラブルシューティングを改善します。

手順の詳細については、「ソフトウェアのインストール更新」を参照してください。

推奨事項

このプロセスを成功させるには、次の推奨事項を使用します。

オフライン サービスを使用する

Configuration Managerを使用して、該当するソフトウェア更新プログラムをイメージ ファイルに定期的にインストールします。 この方法により、タスク シーケンス中にインストールする必要がある更新プログラムの数が減ります。

詳細については、「 イメージにソフトウェア更新プログラムを適用する」を参照してください。

単一インデックス

多くのイメージ ファイルには、さまざまなエディションの Windows など、複数のインデックスが含まれています。 イメージ ファイルを必要な 1 つのインデックスに減らします。 この方法により、ソフトウェア更新プログラムをイメージに適用する時間が短縮されます。 また、次の推奨事項で画像サイズを小さくすることもできます。

OS イメージをサイトに追加するときに、このプロセスを自動化します。 詳細については、「 OS イメージの追加」を参照してください。

画像のサイズを小さくする

イメージにソフトウェア更新プログラムを適用する場合は、置き換えられた更新プログラムを削除して出力を最適化します。 DISM コマンド ライン ツールを使用します。次に例を示します。

dism /Mount-Image /ImageFile:C:\Data\install.wim /MountDir:C:\Mountdir
dism /Image:C:\Mountdir /Cleanup-Image /StartComponentCleanup /ResetBase
dism /Unmount-Image /MountDir:C:\Mountdir /Commit  

このプロセスを自動化するオプションがあります。 詳細については、「 最適化されたイメージ サービス」を参照してください。

イメージ エンジニアリングに関する決定

イメージング プロセスを設計するときは、ソフトウェア更新プログラムのインストールに影響を与える可能性のあるいくつかのオプションがあります。

イメージを定期的に再キャプチャする

カスタム OS イメージを定期的なスケジュールでキャプチャするための自動化されたプロセスがあります。 このキャプチャ タスク シーケンスでは、最新のソフトウェア更新プログラムがインストールされます。 これらの更新プログラムには、累積的な更新プログラム、累積的でない更新プログラム、およびサービス スタック更新プログラム (SSU) などのその他の重要な更新プログラムが含まれる場合があります。 デプロイ タスク シーケンスは、キャプチャ以降に他の更新プログラムをインストールします。

このプロセスの詳細については、「OS を キャプチャするためのタスク シーケンスを作成する」を参照してください。

利点: イメージを再キャプチャする

  • クライアントごとに展開時に適用する更新プログラムが少なく、デプロイ中の時間と帯域幅が節約されます
  • 再起動の原因を心配する更新プログラムの数を減らします
  • 組織のカスタマイズされたイメージ
  • デプロイ時の変数の数を減らします

欠点: イメージを再キャプチャする

  • ほとんど自動化されているにもかかわらず、イメージを作成してキャプチャする時間
  • イメージを配布ポイントに配布する時間が長くなり、アクティブなデプロイの停止と見なすことができます
  • 運用環境をテストする時間が OS パッチ サイクルよりも長くなる可能性があり、更新されたイメージが無関係になる可能性があります

オフライン サービスを使用する

Configuration Managerをスケジュールして、イメージにソフトウェア更新プログラムを適用します。

詳細については、「 イメージにソフトウェア更新プログラムを適用する」を参照してください。

利点: オフライン サービス

  • クライアントごとに展開時に適用する更新プログラムが少なく、デプロイ中の時間と帯域幅が節約されます
  • 再起動の原因を心配する更新プログラムの数を減らします
  • サービス プロセスはサイトでスケジュールできます

欠点: オフライン サービス

  • 更新プログラムの手動選択
  • イメージを配布ポイントに配布するための時間の増加
  • CBS ベースの更新プログラムのみがサポートされます。 Microsoft 365 Apps更新プログラムを適用できません

ヒント

PowerShell を使用して、ソフトウェア更新プログラムの選択を自動化できます。 Get-CMSoftwareUpdate コマンドレットを使用して、更新プログラムの一覧を取得します。 次に、 New-CMOperatingSystemImageUpdateSchedule コマンドレットを使用して、オフライン サービス スケジュールを作成します。 次の例は、このアクションを自動化する 1 つの方法を示しています。

# Get the OS image
$Win10Image = Get-CMOperatingSystemImage -Name "Windows 10 Enterprise"

# Get the latest cumulative update for Windows 10 1809
$OSBuild = "1809"
$LatestUpdate = Get-CMSoftwareUpdate -Fast | Where {$_.LocalizedDisplayName -Like "*Cumulative Update for Windows 10 Version $OSBuild for x64*" -and $_.LocalizedDisplayName -notlike "*Dynamic*"} | Sort-Object ArticleID -Descending | Select -First 1
Write-Host "Latest update for Windows 10 build" $OSBuild "is" $LatestUpdate.LocalizedDisplayName

# Create a new update schedule to apply the latest update
New-CMOperatingSystemImageUpdateSchedule -Name $Win10Image.Name -SoftwareUpdate $LatestUpdate -RunNow -ContinueOnError $True

既定のイメージのみを使用する

展開タスク シーケンスで既定の Windows install.wim イメージ ファイルを使用します。

利点: 既定のイメージ

  • 既知の適切なソース。画像の破損のリスクを問題の可能性として軽減します
  • 可能な問題としてイメージの変更を排除します

欠点: 既定のイメージ

  • デプロイ中に大量の更新プログラムが発生する可能性がある
  • すべてのデバイスの展開時間の増加
  • カスタマイズが不要な場合は、他のタスク シーケンス手順をカスタマイズする必要があります

フローチャート

このフローチャート図は、[ソフトウェアのインストール] 更新ステップをタスク シーケンスに含めるプロセスを示しています。

図をフルサイズで表示する

[ソフトウェアのインストール] 更新タスク シーケンスステップのフローチャート図

  1. クライアントでプロセスが開始する: クライアントで実行されているタスク シーケンスには、[ソフトウェア更新プログラムのインストール] 手順が含まれます。
  2. ポリシーのコンパイルと評価: クライアントは、すべてのソフトウェア更新ポリシーを WMI RequestedConfigs 名前空間にコンパイルします。 (CIAgent.log)
  3. このインスタンスは初めて呼び出されますか?
    1. はい: [フル スキャン] に移動します
    2. いいえ: キャッシュされたスキャン結果からソフトウェア更新プログラムを評価するオプションでステップが構成されていますか?
      1. はい: [キャッシュされた結果からスキャンする] に移動します
      2. いいえ: [フル スキャン] に移動します
  4. スキャン プロセス: 完全スキャンまたはキャッシュされた結果からのスキャン。監視プロセスは並列です。
    1. フル スキャン: タスク シーケンス エンジンは、Update Scan API を介してソフトウェア更新エージェントを呼び出して フル スキャンを実行します。 (WUAHandler.log, ScanAgent.log)
      1. SUM エージェント スキャン - 完全: WSUS を実行しているソフトウェア更新ポイントと通信するWindows Update エージェント (WUA) を介した通常のスキャン プロセス。 該当する更新プログラムがローカル更新ストアに追加されます。 (WindowsUpdate.log、UpdateStore.log)
    2. キャッシュされた結果からスキャンする: タスク シーケンス エンジンは、Update Scan API を介してソフトウェア更新エージェントを呼び出して、キャッシュされたメタデータに対してスキャンします。 (WUAHandler.log, ScanAgent.log)
      1. SUM エージェント スキャン - キャッシュ済み: Windows Update エージェント (WUA) は、ローカル更新ストアに既にキャッシュされている更新プログラムに対してチェックします。 (WindowsUpdate.log、UpdateStore.log)
    3. スキャン タイマーの開始: タスク シーケンス エンジンがタイマーを開始して待機します。 (このプロセスは、完全スキャンまたはキャッシュされた結果プロセスからのスキャンと並行して行われます)。
      1. 監視: タスク シーケンス エンジンは、SUM エージェントの状態を監視します。
      2. SUM エージェントからの応答は何ですか?
        • 進行中: タイマーはタスク シーケンス変数 SMSTSSoftwareUpdateScanTimeout の値に達しましたか? (既定値は 1 時間)
          • はい: ステップは失敗します。
          • いいえ: [監視] に移動します
        • 失敗: ステップは失敗します。
        • 完了: [更新リストの列挙] に移動します
  5. 更新リストの列挙: SUM エージェントは、スキャンによって返される更新プログラムの一覧を列挙し、使用可能な更新プログラムまたは必須の更新プログラムを決定します。
  6. スキャン結果の一覧に更新はありますか?
    • はい: [更新プログラムのインストール] に移動します
    • いいえ: インストールするものはありません。手順は正常に完了します。
  7. 展開プロセス: インストール更新プロセスは、デプロイ監視プロセスと並行して行われます。
    1. 更新プログラムのインストール: タスク シーケンス エンジンは、Update Deployment API を介して SUM エージェントを呼び出して、使用可能なすべての更新プログラムまたは必須の更新プログラムのみをインストールします。 この動作は、手順の構成に基づいています。 [インストールに必須] - [必須のソフトウェア更新プログラムのみ ] または [インストール 可能] - [すべてのソフトウェア更新プログラム] のどちらを選択したかに関係ありません。 SMSInstallUpdateTarget 変数を使用して、この動作を指定することもできます。
      1. SUM エージェントのインストール: 既存のキャッシュされた更新プログラムの一覧を使用した通常のインストール プロセス(標準コンテンツのダウンロード)。 Windows Update エージェント (WUA) を使用して更新プログラムをインストールします。 (UpdatesDeployment.log、UpdatesHandler.log、WuaHandler.log、WindowsUpdate.log)
    2. デプロイ タイマーを開始して進行状況を表示する: タスク シーケンス エンジンはインストール タイマーを開始し、TS 進行状況 UI で 10% 間隔でサブプログラムを表示し、待機します。
      1. 監視: タスク シーケンス エンジンは、SUM エージェントの状態をポーリングします。
      2. SUM エージェントからの応答は何ですか?
        • 進行中: インストール プロセスが 8 時間非アクティブになっていますか?
          • はい: ステップは失敗します。
          • いいえ: [監視] に移動します
        • 失敗: ステップは失敗します。
        • 完了: [キャッシュされたスキャン結果からソフトウェア更新プログラムを評価する] オプションでステップが構成されていますか?

タイムアウト

この図には、この手順に適用される 2 つのタイムアウト変数が含まれています。 このプロセスに影響を与える可能性がある他のコンポーネントからの他の標準タイマーがあります。

  • 更新プログラムのスキャン タイムアウト: 1 時間 (smsts.log)
  • 場所要求のタイムアウト: 1 時間 (LocationServices.log、CAS.log)
  • コンテンツダウンロードのタイムアウト: 1 時間 (DTS.log)
  • 非アクティブな配布ポイントのタイムアウト: 1 時間 (LocationServices.log、CAS.log)
  • インストールの非アクティブタイムアウトの合計: 8 時間 (smsts.log)

トラブルシューティング

この手順の問題のトラブルシューティングに役立つ次のリソースと追加情報を使用します。