クラスター対応更新プラグインのしくみ

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Azure Stack HCI、バージョン 21H2 および 20H2

クラスター対応更新 (CAU) ではプラグインを使用して、フェールオーバー クラスター内のノード間での更新プログラムのインストールを調整します。 ここでは、組み込みの CAU プラグインまたは CAU 用にインストールした他のプラグインを使用する場合について説明します。

プラグインのインストール

CAU と共にインストールされる既定のプラグイン (Microsoft.WindowsUpdatePluginMicrosoft.HotfixPlugin) 以外のプラグインは、別にインストールする必要があります。 CAU を自動更新モードで使用している場合、プラグインはすべてのクラスター ノードにインストールする必要があります。 CAU をリモート更新モードで使用している場合、プラグインはリモートの更新コーディネーター コンピューターにインストールする必要があります。 インストールするプラグインには、各ノードについて追加のインストール要件が指定されている可能性があります。

プラグインをインストールする場合は、プラグインの発行元の指示に従ってください。 手動でプラグインを CAU に登録するには、プラグインがインストールされている各コンピューターで Register-CauPlugin コマンドレットを実行します。

プラグインとプラグイン引数の指定

CAU プラグインの指定

CAU を使用して次の操作を実行するときに、CAU UI で使用できるプラグインのドロップダウン リストからプラグインを選択します。

  • クラスターに更新プログラムを適用する

  • クラスターの更新プログラムをプレビューする

  • クラスターの自動更新オプションを構成する

既定で、CAU はプラグイン Microsoft.WindowsUpdatePlugin を選択します。 ただし、インストールされ、CAU に登録されているプラグインであれば、そのプラグインを指定できます。

ヒント

CAU UI では、更新実行中に更新プログラムをプレビューまたは適用するために使用する CAU のプラグインを 1 つのみ指定できます。 CAU PowerShell コマンドレットを使用すると、1 つ以上のプラグインを指定できます。複数の更新プログラムをクラスターにインストールする必要がある場合は、プラグインごとに更新実行を使用するよりも、1 回の更新実行で複数のプラグインを指定する方が効率的です。 たとえば、通常は、ノードの再起動の回数が少なくなります。

次の表に示す CAU PowerShell コマンドレットを使用すると、–CauPluginName パラメーターを渡して更新実行やスキャン用に 1 つまたは複数のプラグインを指定することができます。 複数のプラグイン名を指定するには、コンマで区切ります。 複数のプラグインを指定する場合、-RunPluginsSerially-StopOnPluginFailure、および –SeparateReboots の各パラメーターを指定して、更新実行中のプラグイン相互の影響を制御することもできます。 複数のプラグインを使用する場合の詳細については、次の表に示すコマンドレットの説明のリンクを参照してください。

コマンドレット 説明
Add-CauClusterRole 自動更新機能を提供する CAU のクラスター化された役割を、指定したクラスターに追加します。
Invoke-CauRun 適用可能な更新プログラムについてクラスター ノードのスキャンを実行し、更新実行で、指定したクラスターにその更新プログラムをインストールします。
Invoke-CauScan 適用可能な更新プログラムについてクラスター ノードのスキャンを実行し、指定したクラスターの各ノードに適用される更新プログラムの初期セットの一覧を返します。
Set-CauClusterRole 指定したクラスターに CAU のクラスター化された役割の構成プロパティを設定します。

これらのコマンドレットを使用して CAU プラグイン パラメーターを指定しない場合、既定値はプラグイン Microsoft.WindowsUpdatePlugin です。

CAU プラグイン引数の指定

更新実行オプションを構成する場合、選択したプラグインが使用する 1 つまたは複数の名前=値のペア (引数) を指定できます。 たとえば、CAU UI では、次のように複数の引数を指定できます。

Name1=Value1;Name2=Value2;Name3=Value3

これらの名前=値のペアは、指定するプラグインにとって意味のある内容とします。 一部のプラグインでは、引数は省略可能です。

CAU プラグイン引数の構文は、次の一般的な規則に従います。

  • 複数の名前=値のペアを指定する場合は、セミコロンで区切ります。

  • 空白が含まれる値は引用符で囲みます (例: Name1="Value with Spaces")。

  • の正確な構文は、プラグインによって異なります。

–CauPluginParameters パラメーターをサポートする CAU PowerShell コマンドレットを使用してプラグイン引数を指定するには、次の形式のパラメーターを渡します。

-CauPluginArguments @{Name1=Value1;Name2=Value2;Name3=Value3}

事前に定義した PowerShell ハッシュ テーブルを使用することもできます。 複数のプラグインを対象にプラグイン引数を指定するには、引数の複数のハッシュ テーブルをセミコロン区切りで渡します。 CauPluginName に指定されたプラグインの順でプラグイン引数を渡します。

オプションのプラグイン引数の指定

CAU でインストールされるプラグイン (Microsoft.WindowsUpdatePluginMicrosoft.HotfixPlugin) には、選択可能なその他のオプションがあります。 CAU UI では、プラグインの更新実行オプションを構成した後の [追加オプション] ページにこれらのオプションが表示されます。 CAU PowerShell コマンドレットを使用している場合、これらのオプションは省略可能なプラグイン引数として構成されます。 詳細については、このトピックで説明する「Microsoft.WindowsUpdatePlugin の使用」と「Microsoft.HotfixPlugin の使用」を参照してください。

Windows PowerShell コマンドレットを使用してプラグインを管理する

コマンドレット 説明
Get-CauPlugin ローカル コンピューターに登録されている 1 つまたは複数のソフトウェア更新プラグインに関する情報を取得します。
Register-CauPlugin ローカル コンピューターに CAU ソフトウェア更新プラグインを登録します。
Unregister-CauPlugin CAU から使用できるプラグインの一覧から、ソフトウェア更新プラグインを削除します。 注: CAU と共にインストールされるプラグイン (Microsoft.WindowsUpdatePluginMicrosoft.HotfixPlugin) は、登録を解除できません。

Microsoft.WindowsUpdatePlugin の使用

CAU 既定のプラグイン (Microsoft.WindowsUpdatePlugin) は次の操作を実行します。

  • 各フェールオーバー クラスター ノード上の Windows Update エージェントと通信し、各ノードで実行されている Microsoft 製品に必要な更新プログラムを適用します。
  • Windows Update や Microsoft Update、または Windows Server Update Services から、クラスター更新プログラムを直接インストールします。
  • 選択した一般配布リリース (GDR) 更新プログラムのみをインストールします。 既定で、プラグインは重要なソフトウェア更新プログラムのみを適用します。 構成は必要ありません。 既定の構成で、重要な GDR 更新プログラムが各ノードにダウンロードされ、インストールされます。

Note

既定で選択される重要なソフトウェア更新プログラム以外の更新プログラム (ドライバーの更新プログラムなど) を適用するには、省略可能なプラグイン パラメーターを構成します。 詳細については、「Windows Update Agent クエリ文字列を構成する」を参照してください。

必要条件

Note

Microsoft の利用規約に同意する必要がある更新プログラムや、ユーザー操作が必要な更新プログラムは除外されるため、手動でインストールする必要があります。

追加オプション

必要に応じて、次のプラグイン引数を指定して、プラグインで適用される更新プログラム セットを補強したり、制限したりすることができます。

  • 各ノードで、重要な更新プログラムだけでなく、推奨される更新プログラムを適用するようにプラグインを構成するには、CAU UI の [追加オプション] ページで、[推奨される更新プログラムについても重要な更新プログラムと同様に通知する] チェック ボックスをオンにします。
    または、'IncludeRecommendedUpdates'='True' プラグイン引数を構成します。
  • 各クラスター ノードに適用する GDR 更新プログラムの種類をフィルターするようにプラグインを構成するには、QueryString プラグイン引数を使用して Windows Update Agent のクエリ文字列を指定します。 詳細については、「Windows Update Agent クエリ文字列を構成する」を参照してください。

Windows Update Agent クエリ文字列を構成する

既定の Microsoft.WindowsUpdatePlugin プラグインのプラグイン引数を構成できます。このプラグインは、Windows Update Agent (WUA) クエリ文字列で構成されます。 この手順では、WUA API を使用して、1 つまたは複数のグループの Microsoft 更新プログラムを指定して、指定した条件に基づいて各ノードに適用します。 複数の条件を組み合わせるには、論理 AND または論理 OR を使用できます。 WUA クエリ文字列は、次のようにプラグイン引数に指定します。

QueryString="Criterion1=Value1 and/or Criterion2=Value2 and/or…"

たとえば、Microsoft.WindowsUpdatePlugin では、既定の QueryString 引数を使用して重要な更新プログラムを自動的に選択します。この引数は、IsInstalledTypeIsHidden、および IsAssigned の条件を使用して構築します。

QueryString="IsInstalled=0 and Type='Software' and IsHidden=0 and IsAssigned=1"

QueryString 引数を指定する場合、プラグイン用に構成されている既定の QueryString に使用されます。

例 1

ID が f6ce46c1-971c-43f9-a2aa-783df125f003 の特定の更新プログラムをインストールする QueryString 引数を構成するには:

QueryString="UpdateID='f6ce46c1-971c-43f9-a2aa-783df125f003' and IsInstalled=0"

Note

前の例は、クラスター対応更新ウィザードを使用して更新プログラムを適用する場合に有効です。 CAU UI を使用して自己更新オプションを構成するか、Add-CauClusterRole または Set-CauClusterRole PowerShell コマンドレットを使用して特定の更新プログラムをインストールする場合は、一重引用符を 2 文字使用して UpdateID 値を指定する必要があります。

QueryString="UpdateID=''f6ce46c1-971c-43f9-a2aa-783df125f003'' and IsInstalled=0"

例 2

ドライバーのみをインストールする QueryString 引数を構成するには:

QueryString="IsInstalled=0 and Type='Driver' and IsHidden=0"

既定のプラグイン Microsoft.WindowsUpdatePlugin のクエリ文字列、検索条件 (IsInstalled など)、およびクエリ文字列に含めることができる構文の詳細については、Windows 更新エージェント (WUA) API リファレンスの検索条件に関するセクションを参照してください。

Microsoft.HotfixPlugin の使用

Microsoft.HotfixPlugin プラグインを使用すると、特定の Microsoft ソフトウェアの問題に対処するために個別にダウンロードした、Microsoft の限定配布リリース (LDR) の更新プログラム (修正プログラム、旧称は QFE) を適用できます。 このプラグインは、SMB ファイル共有のルート フォルダーから更新プログラムをインストールします。また、Microsoft 以外のドライバー、ファームウェア、BIOS の更新プログラムを適用するようにカスタマイズすることもできます。

Note

修正プログラムは、Microsoft のサポート技術情報の記事からダウンロードできる場合もありますが、必要に応じてお客様に提供される場合もあります。

必要条件

  • フェールオーバー クラスターとリモート更新コーディネーター コンピューター (使用する場合) は、「CAU の要件とベスト プラクティス (英語)」を参照してください。

  • Microsoft.HotfixPlugin を使用する場合の推奨事項 (英語)」を参照してください。

  • 最適な結果を得るために、CAU Best Practices Analyzer (BPA) モデルを実行して、CAU を使用して更新プログラムを適用するようにクラスターと更新プログラムの環境が正しく構成されていることを確認することをお勧めします。 詳細については、「CAU の更新処理の準備に関するテスト (英語)」を参照してください。

  • 発行元から更新プログラムを入手します。次に SMB 2.0 以降をサポートし、すべてのクラスター ノードおよびリモートの更新コーディネーター コンピューター (CAU をリモート更新モードで使用する場合) からアクセスできるサーバー メッセージ ブロック (SMB) ファイル共有 (修正プログラム ルート フォルダー) に、その更新プログラムをコピーするか抽出します。 詳細については、このトピックの「修正プログラム ルート フォルダー構造を構成する」を参照してください。

    Note

    既定では、このプラグインでは、ファイル名拡張子が .msu、.msi、および .msp の修正プログラムのみがインストールされます。

  • DefaultHotfixConfig.xml ファイル (CAU ツールがインストールされているコンピューターの %systemroot%\System32\WindowsPowerShell\v1.0\Modules\ClusterAwareUpdating フォルダーにあります) を、作成した修正プログラム ルート フォルダー (修正プログラムを抽出したフォルダー) にコピーします。 たとえば、構成ファイルを \\MyFileServer\Hotfixes\Root\ にコピーします。

    Note

    Microsoft が提供するほとんどの修正プログラムやその他の更新プログラムをインストールするには、既定の修正プログラム構成ファイルを変更せずに使用できます。 変更が必要な場合は、高度なタスクとして構成ファイルをカスタマイズできます。 構成ファイルには、カスタム規則を含めることができます。たとえば、特定の拡張子を持つ修正プログラム ファイルの処理、特定の終了条件に関する動作の定義などです。 詳細については、このトピックの「修正プログラムの構成ファイルをカスタマイズする」を参照してください。

構成

次の設定を構成します。 詳細については、このトピックで後述するセクションのリンクを参照してください。

  • 適用する更新プログラムと修正プログラムの構成ファイルが保存される、共有される修正プログラム ルート フォルダーのパス。 このパスを CAU UI に入力するか、HotfixRootFolderPath=<Path> PowerShell プラグイン引数を構成します。

    Note

    修正プログラム ルート フォルダーは、ローカルのフォルダー パス、または \\ServerName\Share\RootFolderName という形式の UNC パスとして指定できます。 ドメインベースまたはスタンドアロンの DFS 名前空間パスを使用できます。 ただし、修正プログラムの構成ファイルのアクセス許可を確認するプラグイン機能は、DFS と互換性がありません。そのため、DFS を構成する場合は、CAU UI を使用するか、DisableAclChecks='True' プラグイン引数を構成して、アクセス許可の確認を無効にする必要があります。

  • フォルダーの適切なアクセス許可を確認し、SMB 共有フォルダーからアクセスされるデータ (SMB 署名や SMB 暗号化) の整合性を確認する修正プログラム ルート フォルダーをホストするサーバーの設定。 詳細については、「修正プログラム ルート フォルダーへのアクセスを制限する」を参照してください。

追加オプション

  • 必要に応じて、修正プログラムのファイル共有からデータにアクセスするときに SMB 暗号化を実行するようにプラグインを構成します。 CAU UI の [追加オプション] ページで、[修正プログラム ルート フォルダーへのアクセス時に SMB 暗号化を要求する] オプションをオンにするか、RequireSMBEncryption='True' PowerShell プラグイン引数を構成します。

    重要

    SMB データの SMB 署名または SMB 暗号化との整合性を有効にするには、SMB サーバーで追加の構成手順を実行する必要があります。 詳細については、「修正プログラム ルート フォルダーへのアクセスを制限する」の手順 4 を参照してください。 SMB 暗号化を使用するオプションを選択しても、SMB 暗号化を使用したアクセスに対応するように修正プログラム ルート フォルダーが構成されていない場合、更新実行は失敗します。

  • 必要に応じて、修正プログラム ルート フォルダーと修正プログラムの構成ファイルに十分なアクセス許可があるかどうかに関する既定の確認を無効にします。 CAU UI で [修正プログラム ルート フォルダーおよび構成ファイルへの管理者アクセスのチェックを無効にする] をオンにするか、DisableAclChecks='True' プラグイン引数を構成します。
  • 必要に応じて、HotfixInstallerTimeoutMinutes=<Integer> 引数を構成して、修正プログラム プラグインが修正プログラムのインストーラー プロセスから戻るまで待機する時間を指定します。 (既定値は 30 分です)。たとえば、2 時間のタイムアウト時間を指定するには、HotfixInstallerTimeoutMinutes=120 と設定します。
  • 必要に応じて、HotfixConfigFileName = <name> プラグイン引数を構成して、修正プログラム ルート フォルダーにある修正プログラムの構成ファイルの名前を指定します。 指定しない場合、既定の名前である DefaultHotfixConfig.xml が使用されます。

修正プログラム ルート フォルダー構造を構成する

修正プログラム プラグインが機能するには、SMB ファイル共有の適切に定義された構造 (修正プログラム ルート フォルダー) に修正プログラムを保存する必要があります。また、CAU UI または CAU PowerShell コマンドレットを使用して、修正プログラム ルート フォルダーのパスを使用して修正プログラム プラグインを構成する必要があります。 このパスは、HotfixRootFolderPath 引数としてプラグインに渡されます。 次の例のように、実際の更新のニーズに応じて、修正プログラム ルート フォルダーに対応するいくつかの構造からいずれかを選択できます。 この構造に従っていないファイルまたはフォルダーは無視されます。

例 1: すべてのクラスター ノードに修正プログラムを適用する場合に使用するフォルダー構造

すべてのクラスター ノードに修正プログラムを適用するように指定するには、修正プログラム ルート フォルダー以下にある CAUHotfix_All というフォルダーに修正プログラムをコピーします。 この例では、HotfixRootFolderPath プラグイン引数は \\MyFileServer\Hotfixes\Root\ に設定されています。 CAUHotfix_All フォルダーには、拡張子が .msu、.msi、および .msp の更新プログラムが保存されています。これらの更新プログラムはすべてのクラスター ノードに適用されます。 この更新プログラム ファイル名は、説明のためにのみ使用されています。

Note

この例と以降の例で、DefaultHotfixConfig.xml という既定の名前の修正プログラム構成ファイルは、修正プログラム ルート フォルダーの必要な場所に表示されます。

\\MyFileServer\Hotfixes\Root\
   DefaultHotfixConfig.xml
   CAUHotfix_All\
      Update1.msu
      Update2.msi
      Update3.msp
      ...

例 2: 特定のノードにのみ特定の更新プログラムを適用する場合に使用するフォルダー構造

特定のノードにのみ適用する修正プログラムを指定するには、修正プログラム ルート フォルダー以下にあるノード名を持つサブフォルダーを使用します。 クラスター ノードの NetBIOS 名を使用します。たとえば、ContosoNode1 などです。 次に、そのノードにのみ適用する更新プログラムを、このサブフォルダーに移動します。 次の例では、HotfixRootFolderPath プラグイン引数は \\MyFileServer\Hotfixes\Root\ に設定されています。 CAUHotfix_All フォルダー内の更新プログラムはすべてのクラスター ノードに適用され、Node1_Specific_Update.msuContosoNode1 にのみ適用されます。

\\MyFileServer\Hotfixes\Root\
   DefaultHotfixConfig.xml
   CAUHotfix_All\
      Update1.msu
      Update2.msi
      Update3.msp
      ...
   ContosoNode1\
      Node1_Specific_Update.msu
      ...

例 3: .msu、.msi、および .msp ファイル以外の更新プログラムを適用する場合に使用するフォルダー構造

既定では、Microsoft.HotfixPlugin は拡張子が .msu、.msi、または .msp の更新プログラムのみを適用します。 ただし、一部の更新プログラムは拡張子が異なり、別のインストール コマンドが必要な場合があります。 たとえば、場合によっては、拡張子が .exe のファームウェアの更新プログラムをクラスター内のノードに適用する必要があります。 特定の、既定ではない更新プログラムの種類をインストールすることを示すサブフォルダーを使用して、修正プログラム ルート フォルダーを構成することができます。 また、対応するフォルダーのインストール規則を構成して、修正プログラムの構成 XML ファイルで <FolderRules> 要素にインストール コマンドを指定する必要もあります。

次の例では、HotfixRootFolderPath プラグイン引数は \\MyFileServer\Hotfixes\Root\ に設定されています。 一部の更新プログラムはすべてのクラスター ノードに適用されます。またファームウェアの更新プログラムの SpecialHotfix1.exe は、FolderRule1 を使用して ContosoNode1 に適用されます。 修正プログラムの構成ファイルで FolderRule1 を構成する場合の詳細については、このトピックの「修正プログラムの構成ファイルをカスタマイズする」を参照してください。

\\MyFileServer\Hotfixes\Root\
   DefaultHotfixConfig.xml
   CAUHotfix_All\
      Update1.msu
      Update2.msi
      Update3.msp
      ...

   ContosoNode1\
      FolderRule1\
          SpecialHotfix1.exe
      ...

修正プログラムの構成ファイルをカスタマイズする

修正プログラムの構成ファイルは、フェールオーバー クラスターに特定の修正プログラム ファイルの種類を Microsoft.HotfixPlugin でインストールする方法を制御します。 構成ファイルの XML スキーマは HotfixConfigSchema.xsd で定義されています。この xsd ファイルは、CAU ツールがインストールされているコンピューターの次のフォルダーに保存されています。

%systemroot%\System32\WindowsPowerShell\v1.0\Modules\ClusterAwareUpdating フォルダー

修正プログラムの構成ファイルをカスタマイズするには、この場所にあるサンプルの構成ファイル DefaultHotfixConfig.xml を修正プログラム ルート フォルダーにコピーし、実際のシナリオに合わせて変更します。

重要

Microsoft が提供するほとんどの修正プログラムやその他の更新プログラムを適用するには、既定の修正プログラム構成ファイルを変更せずに使用できます。 修正プログラムの構成ファイルのカスタマイズは、高度な使用シナリオでのみ実行されるタスクです。

修正プログラムの構成 XML ファイルは、次の 2 つのカテゴリの修正プログラムについて、既定でインストール規則と終了条件を定義しています。

  • プラグインが既定でインストールできる拡張子の修正プログラム ファイル (.msu、.msi、および .msp ファイル)。

    これらは、 <ExtensionRules> 要素内の <DefaultRules> 要素として定義されます。 既定のサポートされるファイルの種類ごとに、1 つの <Extension> 要素があります。 一般的な XML 構造は次のとおりです。

    <DefaultRules>
        <ExtensionRules>
          <Extension name="MSI">
            <!-- Template and ExitConditions elements for installation of .msi files follow -->
             ...
          </Extension>
          <Extension name="MSU">
            <!-- Template and ExitConditions elements for installation of .msu files follow -->
             ...
          </Extension>
          <Extension name="MSP">
            <!-- Template and ExitConditions elements for installation of .msp files follow -->
             ...
          </Extension>
             ...
       </ExtensionRules>
    </DefaultRules>
    

    一部の更新プログラムの種類を環境内のすべてのクラスター ノードに適用する必要がある場合、追加の <Extension> 要素を定義できます。

  • .msi、.msu、または .msp ファイルではない修正プログラムまたはその他の更新プログラム ファイル。たとえば、Microsoft 製ではないドライバー、ファームウェア、BIOS の更新プログラムなどです。

    既定ではないファイルの各種類は、 <Folder> 要素内の <FolderRules> 要素として構成します。 <Folder> 要素の name 属性は、対応する種類の更新プログラムを保存する修正プログラム ルート フォルダー内のフォルダー名と同じにする必要があります。 このフォルダーは CAUHotfix_All フォルダー内、またはノード固有のフォルダー内にすることができます。 たとえば、FolderRule1 を修正プログラム ルート フォルダー内に構成する場合、XML ファイルに次の要素を構成して、そのフォルダー内の更新プログラムについてインストール テンプレートと終了条件を定義します。

    <FolderRules>
          <Folder name="FolderRule1">
            <!-- Template and ExitConditions elements for installation of updates in FolderRule1 follow -->
             ...
          </Folder>
          ...
    </FolderRules>
    

次の表は、 <Template> 属性と使用できる <ExitConditions> サブ要素の説明です。

<Template> 属性 説明
path <Extension name> 属性に定義されているファイルの種類に関する、インストール プログラムの完全なパス。

修正プログラム ルート フォルダー構造にある更新プログラム ファイルのパスを指定するには、 $update$を使用します。

parameters pathに指定されているプログラムの必要なパラメーターと省略可能なパラメーターの文字列。

修正プログラム ルート フォルダー構造にある更新プログラム ファイルのパスのパラメーターを指定するには、 $update$を使用します。

<ExitConditions> サブ要素 説明
<Success> 指定した更新プログラムが成功したことを示す終了コードを 1 つまたは複数定義します。 これは必須のサブ要素です。
<Success_RebootRequired> 必要に応じて、指定した更新プログラムが成功し、ノードを再起動する必要があることを示す終了コードを 1 つまたは複数定義します。
注: 必要に応じて、<Folder> 要素に alwaysReboot 属性を含めることができます。 この属性を設定すると、この規則でインストールされる修正プログラムが <Success>に定義されている終了コードのいずれかを返した場合、 <Success_RebootRequired> 終了条件として解釈されます。
<Fail_RebootRequired> 必要に応じて、指定した更新プログラムが失敗し、ノードを再起動する必要があることを示す終了コードを 1 つまたは複数定義します。
<AlreadyInstalled> 必要に応じて、指定した更新プログラムは既にインストールされているため、適用されなかったことを示す終了コードを 1 つまたは複数定義します。
<NotApplicable> 必要に応じて、指定した更新プログラムはクラスター ノードに適用されていないため、適用されなかったことを示す終了コードを 1 つまたは複数定義します。

重要

<ExitConditions> に明示的に定義されていない終了コードは、更新プログラムが失敗したと解釈され、ノードは再起動しません。

修正プログラム ルート フォルダーへのアクセスを制限する

SMB ファイル サーバーとファイル共有を構成して、 Microsoft.HotfixPlugin のコンテキストでのみアクセスするように修正プログラム ルート フォルダー ファイルと修正プログラムの構成ファイルをセキュリティで保護するには、いくつかの手順を実行する必要があります。 これらの手順によって、フェールオーバー クラスターのセキュリティを侵害するような方法で修正プログラム ファイルを改ざんする危険性を回避できます。

一般的な手順は次のとおりです。

  1. プラグインを使用して、更新実行に使用するユーザー アカウントを指定する

  2. SMB ファイル サーバーで必要なグループにユーザー アカウントを構成する

  3. 修正プログラム ルート フォルダーのアクセス許可を構成する

  4. SMB データの整合性に関する設定を構成する

  5. SMB サーバーで Windows ファイアウォール規則を有効にする

手順 1: 修正プログラム プラグインを使用して、更新実行に使用するユーザー アカウントを指定する

Microsoft.HotfixPlugin を使用して更新実行を実行するときにセキュリティ設定を確認するために CAU で使用するアカウントは、次のように、CAU をリモート更新モードで使用するか、自動更新モードで使用するかによって変わります。

  • リモート更新モード クラスターで、更新プログラムのプレビューと適用を実行する管理者特権を持つアカウント。

  • 自動更新モード Active Directory で CAU のクラスター化された役割用に 構成されている仮想コンピューター オブジェクトの名前。 この名前は、Active Directory で CAU のクラスター化された役割用に事前設定された仮想コンピューター オブジェクトの名前か、クラスター化された役割用に CAU によって生成された名前です。 名前が CAU によって生成された場合、名前を取得するには、Get-CauClusterRole CAU PowerShell コマンドレットを実行します。 出力の ResourceGroupName は、生成された仮想コンピューター オブジェクト アカウントの名前です。

手順 2: SMB ファイル サーバーで必要なグループにユーザー アカウントを構成する

重要

更新実行に使用するアカウントは、SMB サーバーのローカルの管理者アカウントとして追加する必要があります。 組織のセキュリティ ポリシーで、このようなアカウントを追加できない場合は、次の手順を使用して、SMB サーバーに必要なアクセス許可を持つ管理者アカウントを構成します。

SMB サーバーでユーザー アカウントを構成するには
  1. 更新実行に使用するアカウントを Distributed COM Users グループに追加し、さらに、Power User、Server Operation、Print Operator のいずれかに追加します。

  2. アカウントに必要な WMI のアクセス許可を有効にするには、SMB サーバーで WMI 管理コンソールを開始します。 PowerShell を起動し、次のコマンドを入力します。

    wmimgmt.msc
    
  3. コンソール ツリーで、[WMI コントロール (ローカル)] を右クリックし、[プロパティ] をクリックします。

  4. [セキュリティ] をクリックし、[ルート] を展開します。

  5. [CIMV2] をクリックし、[セキュリティ] をクリックします。

  6. 更新実行に使用するアカウントを [グループ名またはユーザー名] リストに追加します。

  7. [メソッドの実行] および [リモートの有効化] のアクセス許可を更新実行に使用するアカウントに付与します。

手順 3: 修正プログラム ルート フォルダーのアクセス許可を構成する

既定では、更新プログラムを適用しようとすると、修正プログラム プラグインは、修正プログラム ルート フォルダーに対するアクセスに関して NTFS ファイル システムのアクセス許可の構成を確認します。 フォルダーのアクセス許可が正しく構成されていない場合、修正プログラム プラグインを使用した更新実行は失敗する可能性があります。

修正プログラム プラグインの既定の構成を使用する場合、フォルダーのアクセス許可が次の要件を満たしていることを確認してください。

  • Users グループに読み取りアクセス許可があります。

  • プラグインが .exe という拡張子の更新プログラムを適用する場合、Users グループには実行アクセス許可があります。

  • 特定のセキュリティ プリンシパルにのみ、書き込みまたは変更のアクセス許可が付与されています (ただし、付与は必須ではありません)。 許可されるプリンシパルは、ローカルの Administrators グループ、SYSTEM、CREATOR OWNER、および TrustedInstaller です。 その他のアカウントまたはグループには、修正プログラム ルート フォルダーで書き込みまたは修正のアクセス許可は付与されません。

既定でプラグインが実行する上記の確認は、必要に応じて無効にすることができます。 2 つの方法のいずれかでこれを行うことができます。

  • CAU PowerShell コマンドレットを使用している場合、修正プログラム プラグインの CauPluginArguments パラメーターで DisableAclChecks='True' 引数を構成します。

  • CAU UI を使用している場合、更新実行オプションの構成に使用するウィザードの [追加の更新オプション] ページで、[修正プログラム ルート フォルダーおよび構成ファイルへの管理者アクセスのチェックを無効にする] オプションをオンにします。

ただし、多くの環境では、ベスト プラクティスとして、既定の構成を使用してこれらの確認を実行することをお勧めします。

手順 4: SMB データ整合性に関する設定を構成する

クラスター ノードと SMB ファイル共有間の接続でデータの整合性を確認するには、修正プログラム プラグインで、SMB ファイル共有の SMB 署名または SMB 暗号化に関する設定を有効にする必要があります。 SMB 暗号化は多くの環境でセキュリティを強化し、パフォーマンスを向上します。SMB 暗号化は Windows Server 2012 以降でサポートされます。 次のように、これらの設定のいずれかまたは両方を有効にすることができます。

  • SMB 署名を有効にするには、Microsoft サポート技術情報の 記事 887429 の手順を参照してください。

  • SMB 共有フォルダーの SMB 暗号化を有効にするには、SMB サーバーで次の PowerShell コマンドレットを実行します。

    Set-SmbShare <ShareName> -EncryptData $true
    

    ここで、<ShareName> は SMB 共有フォルダーの名前です。

必要に応じて、SMB サーバーとの接続に SMB 暗号化の使用を強制するには、CAU UI で [修正プログラム ルート フォルダーへのアクセス時に SMB 暗号化を要求する] オプションをオンにするか、CAU PowerShell コマンドレットを使用して RequireSMBEncryption='True' プラグイン引数を構成します。

重要

SMB 暗号化を使用するオプションを選択しても、SMB 暗号化を使用した接続に対応するように修正プログラム ルート フォルダーが構成されていない場合、更新実行は失敗します。

手順 5: SMB サーバーで Windows ファイアウォール規則を有効にする

SMB ファイル サーバーで Windows ファイアウォールの [ファイル サーバー リモート管理 (SMB 受信)] 規則を有効にする必要があります。 これは、Windows Server 2016、Windows Server 2012 R2、および Windows Server2012 では既定で有効になっています。

その他の参照情報