次の方法で共有


マージ Windows Defender アプリケーション制御 (WDAC) ポリシー

Windows Defender アプリケーションコントロール (WDAC) の一部の機能は、特定の Windows バージョンでのみ使用できます。 Windows Defender アプリケーション制御機能の可用性について詳しくは、こちらをご覧ください。

この記事では、複数のポリシー XML ファイルをマージする方法と、ルールをポリシーに直接マージする方法について説明します。 Windows Defenderアプリケーション制御のデプロイには、多くの場合、いくつかの基本ポリシーと、特定のユース ケースのオプションの補足ポリシーが含まれます。

Windows Server 2019 以前を含む Windows バージョン 1903 より前のバージョンでは、一度に 1 つのシステムでアプリケーション制御ポリシーをアクティブにできるWindows Defenderは 1 つだけです。 これらの以前のバージョンの Windows を実行しているシステムで WDAC を使用する必要がある場合は、展開する前にすべてのポリシーをマージする必要があります。

複数の WDAC ポリシー XML ファイルをマージする

2 つ以上のポリシー ファイルをマージするシナリオは多数あります。 たとえば、監査イベントを使用してアプリケーション制御ポリシー規則Windows Defender作成する場合は、それらの規則を既存の WDAC 基本ポリシーとマージできます。 この記事で参照されている 2 つの WDAC ポリシーをマージするには、管理者特権のWindows PowerShell セッションで次の手順を実行します。

  1. 使われる変数を初期化します。

    $PolicyName= "Lamna_FullyManagedClients_Audit"
    $LamnaPolicy=$env:userprofile+"\Desktop\"+$PolicyName+".xml"
    $EventsPolicy=$env:userprofile+"\Desktop\EventsPolicy.xml"
    $MergedPolicy=$env:userprofile+"\Desktop\"+$PolicyName+"_Merged.xml"
    
  2. Merge-CIPolicy を使用して 2 つのポリシーをマージし、新しいWindows Defenderアプリケーション制御ポリシーを作成します。

    Merge-CIPolicy -PolicyPaths $LamnaPolicy,$EventsPolicy -OutputFilePath $MergedPolicy
    

    追加のポリシーを上記の Merge-CIPolicy ステップとマージするには、それらをコンマで区切った -PolicyPaths パラメーターに追加します。 -OutputFilePath で指定された新しいポリシー ファイルには、一覧の最初のポリシーのポリシー情報が含まれます。 たとえば、上記の例では、$MergedPolicyはポリシーの種類、ID、名前、バージョンの情報を$LamnaPolicyから継承します。 これらの値のいずれかを変更するには、 Set-CIPolicyIdInfoSet-CIPolicyVersion を使用します

WDAC ルールをポリシー XML に直接マージする

複数のポリシー XML ファイルをマージするだけでなく、New-CIPolicyRule コマンドレットで作成されたルールを既存の WDAC ポリシー XML ファイルに直接マージすることもできます。 ルールを直接マージすることは、追加のポリシー XML ファイルを作成せずにポリシーを更新する便利な方法です。 たとえば、WDAC ウィザードと WDAC RefreshPolicy.exe ツールを許可する規則を追加するには、次の手順を実行します。

  1. WDAC ウィザードのパッケージ化された MSIX アプリをインストールします。

  2. プロセッサ アーキテクチャの 更新ポリシー ツール をダウンロードし、RefreshPolicy.exe としてデスクトップに保存します。

  3. PowerShell セッションから、次のコマンドを実行して、WDAC ウィザードのパッケージ アプリ許可規則を作成します。

    $PackageInfo = Get-AppxPackage -Name Microsoft.WDAC.WDACWizard
    $Rules = New-CIPolicyRule -Package $PackageInfo
    
  4. RefreshPolicy.exe の FilePublisher 規則を追加します。

    $Rules += New-CIPolicyRule -DriverFilePath $env:USERPROFILE\Desktop\RefreshPolicy.exe -Level FilePublisher
    
  5. Merge-CIPolicy を使用して、前の手順の最後の手順で作成した MergeedPolicy ファイルに新しいルールを直接マージします。

    Merge-CIPolicy -PolicyPaths $MergedPolicy -OutputFilePath $MergedPolicy -Rules $Rules
    

マージされたポリシーをマネージド エンドポイントに変換してデプロイする

新しいマージされたポリシーが作成できたので、ポリシー バイナリをマネージド エンドポイントに変換してデプロイできます。

  1. WDAC ポリシーをバイナリ形式に変換するには、ConvertFrom-CIPolicy を使用します。

    $WDACPolicyBin=$env:userprofile+"\Desktop\"+$PolicyName+"_{InsertPolicyID}.bin"
    ConvertFrom-CIPolicy -XMLFilePath $MergedPolicy -BinaryFilePath $WDACPolicyBin
    

    上記のサンプル コマンドでは、バージョン 1903 以降または Windows 10 Windows 11を対象とするポリシーの場合は、"{InsertPolicyID}" という文字列を、ポリシー XML ファイル内の実際の PolicyID GUID (中かっこ { }を含む) に置き換えます。 1903 より前のバージョンWindows 10の場合は、バイナリ ファイル名として SiPolicy.p7b という名前を使用します。

  2. マージされたポリシー XML と関連するバイナリを、Windows Defender アプリケーション制御ポリシーに使用しているソース管理ソリューションにアップロードします。 GitHub などのドキュメント管理ソリューションや、Office 365 SharePoint などのドキュメント管理ソリューションなど。

  3. 優先するデプロイ ソリューションを使用して、マージされたポリシーをデプロイします。 「Windows Defender アプリケーション制御 (WDAC) ポリシーの展開」を参照してください。