WDAC と Windows PowerShell を使用して、Microsoft Intune で HoloLens 2 デバイスのアプリを許可またはブロックする

Microsoft HoloLens 2 デバイスでは、Windows Defender アプリケーション制御 (WDAC) CSP をサポートしています。これは、AppLocker CSP に代わるものです。

Windows PowerShell と Microsoft Intune を使用している場合は、WDAC CSP を使用して、Microsoft HoloLens 2 デバイスで特定のアプリを開くことを許可またはブロックできます。 たとえば、組織内の HoloLens 2 デバイスでアプリを開くことを許可または禁止することができます。

この機能は、以下に適用されます。

  • Windows Holographic for Business が実行されている HoloLens 2 デバイス
  • Windows 10 または 11

WDAC CSP は、Windows Defender アプリケーション制御 (WDAC) 機能に基づいています。 複数の WDAC ポリシーを使用することもできます。

この記事では、以下の方法を示します。

  1. Windows PowerShell を使用して WDAC ポリシーを作成します。
  2. Windows PowerShell を使用して WDAC ポリシーの規則を XML に変換し、その XML を更新した後、その XML をバイナリ ファイルに変換します。
  3. Microsoft Intune で、カスタム デバイス構成プロファイルを作成し、この WDAC ポリシー バイナリ ファイルを追加して、ポリシーを HoloLens 2 デバイスに適用します。

Intune では、Windows Defender アプリケーション制御 (WDAC) CSP を使用するためにカスタム構成プロファイルを作成する必要があります。

この記事の手順をテンプレートとして使用すると、HoloLens 2 デバイスで特定のアプリを開くことを許可または拒否できます。

前提条件

手順 1 - Windows PowerShell を使用して WDAC ポリシーを作成する

この例では、Windows PowerShell を使用して、Windows Defender アプリケーション制御 (WDAC) ポリシーを作成します。 このポリシーにより、特定のアプリを開くことができなくなります。

  1. デスクトップ コンピューターで、Windows PowerShell アプリを開きます。

  2. デスクトップ コンピューターと HoloLens にインストールされているアプリケーション パッケージに関する情報を取得します。

    $package1 = Get-AppxPackage -name *<applicationname>*
    

    たとえば、次のように入力します。

    $package1 = Get-AppxPackage -name Microsoft.MicrosoftEdge
    

    次に、パッケージにアプリケーション属性があることを確認します。

    $package1
    

    次の属性のようなアプリの詳細が表示されます。

    Name              : Microsoft.MicrosoftEdge
    Publisher         : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
    Architecture      : Neutral
    ResourceId        :
    Version           : 44.20190.1000.0
    PackageFullName   : Microsoft.MicrosoftEdge_44.20190.1000.0_neutral__8wekyb3d8bbwe
    InstallLocation   : C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe
    IsFramework       : False
    PackageFamilyName : Microsoft.MicrosoftEdge_8wekyb3d8bbwe
    PublisherId       : 8wekyb3d8bbwe
    IsResourcePackage : False
    IsBundle          : False
    IsDevelopmentMode : False
    NonRemovable      : True
    IsPartiallyStaged : False
    SignatureKind     : System
    Status            : Ok
    
  3. WDAC ポリシーを作成し、このアプリ パッケージを拒否規則に追加します。

    $rule = New-CIPolicyRule -Package $package1 -Deny
    
  4. 拒否したいアプリケーションが他にもある場合は、手順 2 と 3 を繰り返します。

    $rule += New-CIPolicyRule -Package $package<2..n> -Deny
    

    たとえば、次のように入力します。

    $package2 = Get-AppxPackage -name *windowsstore*
    $rule += New-CIPolicyRule -Package $package<2..n>  -Deny
    
  5. WDAC ポリシーを newPolicy.xml に変換します。

    注:

    HoloLens デバイスにのみインストールされているアプリをブロックできます。 詳細については、「 HoloLens 上のアプリのパッケージ ファミリ名」を参照してください。

    New-CIPolicy -rules $rule -f .\newPolicy.xml -UserPEs
    

    アプリのすべてのバージョンを対象にするには、newPolicy.xml で、PackageVersion="65535.65535.65535.65535" が Deny ノードに含まれていることを確認します。

    <Deny ID="ID_DENY_D_1" FriendlyName="Microsoft.WindowsStore_8wekyb3d8bbwe FileRule" PackageFamilyName="Microsoft.WindowsStore_8wekyb3d8bbwe" PackageVersion="65535.65535.65535.65535" />
    

    PackageFamilyNameRules では、次のバージョンを使用できます。

    • 許可: 「PackageVersion, 0.0.0.0」と入力します。これは、"このバージョン以上を許可すること" を意味します。
    • 拒否: 「PackageVersion, 65535.65535.65535.65535」と入力します。これは、"このバージョン以下を拒否すること" を意味します。
  6. 基幹業務アプリなど、Microsoft Store から取得したのではないアプリを展開して実行する予定の場合 (アプリ管理に関する記事を参照) は、その署名者を WDAC ポリシーに追加して、明示的にそれらのアプリを許可します。

    注:

    現在、WDAC と LOB アプリの使用は、HoloLens 用 Windows Insiders 機能でのみ利用できます。

    たとえば、ATestApp.msix の展開を計画するとします。 ATestApp.msixTestCert.cer 証明書によって署名されます。 次の Windows PowerShell スクリプトを使用して、署名者を WDAC ポリシーに追加します。

    Add-SignerRule -FilePath .\newPolicy.xml -CertificatePath .\TestCert.cer -User
    
  7. newPolicy.xml を、デスクトップ コンピューター上にある既定のポリシーとマージします。 この手順によって mergedPolicy.xml が作成されます。 たとえば、Windows、WHQL 署名されたドライバー、ストアで署名されたアプリの実行を許可します。

    Merge-CIPolicy -PolicyPaths .\newPolicy.xml,C:\Windows\Schemas\codeintegrity\examplepolicies\DefaultWindows_Audit.xml -o mergedPolicy.xml
    
  8. mergedPolicy.xml監査モード規則を無効にします。 マージすると、監査モードが自動的に有効になります。

    Set-RuleOption -o 3 -Delete .\mergedPolicy.xml
    
  9. mergedPolicy.xml再起動時に EA を無効化規則を有効にします。

    Set-RuleOption -o 15 .\mergedPolicy.xml
    

    これらの規則の詳細については、「 WDAC ポリシールールとファイルルールについて」を参照してください。

  10. mergedPolicy.xml をバイナリ形式に変換します。 この手順によって compiledPolicy.bin が作成されます。 [手順 2 - Intune ポリシーを作成し、HoloLens 2 デバイスにポリシーを展開する] で、このcompiledPolicy.binバイナリ ファイルを Intune ポリシーに追加します。

    ConvertFrom-CIPolicy .\mergedPolicy.xml .\compiledPolicy.bin
    

手順 2 - Intune ポリシーを作成し、HoloLens 2 デバイスにポリシーを展開する

この手順では、Intune でカスタム デバイス構成プロファイルを作成します。 カスタム ポリシーでは、「手順 1 - Windows PowerShell を使用して WDAC ポリシーを作成する」で作成したcompiledPolicy.binバイナリ ファイルを追加します。 その後、Intune を使用してこのポリシーを HoloLens 2 デバイスに展開します。

  1. Microsoft Intune 管理センターで、Windows カスタム デバイス構成プロファイルを作成します。

    特定の手順については、「 Intune で OMA-URI を使用してカスタム プロファイルを作成する」を参照してください。

  2. プロファイルを作成する際は、次の設定を入力します。

    • OMA-URI: 「./Vendor/MSFT/ApplicationControl/Policies/<PolicyGUID>/Policy」と入力します。 <PolicyGUID> は、手順 6 で作成した mergedPolicy.xml ファイルの PolicyTypeID ノードに置き換えます。

      この例を使用する場合は、「./Vendor/MSFT/ApplicationControl/Policies/A244370E-44C9-4C06-B551-F6016E563076/Policy」と入力します。

      このポリシー GUID は、(手順 6 で作成された) mergedPolicy.xml ファイルの PolicyTypeID ノードと一致する必要があります

      OMA-URI では ApplicationControl CSP が使用されます。 この CSP のノードの詳細については、 ApplicationControl CSP に関するページを参照してください。

    • データ型: Base64 ファイル に設定します。 これで、ファイルは自動的にバイナリから Base64 に変換されます。

    • 証明書ファイル: compiledPolicy.bin バイナリ ファイルをアップロードします (手順 10 で作成)。

    設定は次のようになります。

    Microsoft Intune でカスタム OMA-URI を追加してアプリケーション制御 CSP を構成します。

  3. プロファイルが HoloLens 2 グループに割り当てられている場合は、プロファイルの状態を確認します。 プロファイルが正常に適用されたら、HoloLens 2 デバイスを再起動します。