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 デバイスで Cortana アプリを開くことを許可または禁止することができます。

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

  • Windows Holographic for Business が実行されている HoloLens 2 デバイス

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 デバイスで特定のアプリを開くことを許可または拒否できます。

前提条件

  • Windows PowerShell に精通している。

  • 次のメンバーとして Intune にサインインする。

    • ポリシーおよびプロファイルマネージャー または Intune ロール管理者 の Intune ロール

      または

    • 全体管理者 または Intune サービス管理者 の Azure AD ロール

    詳細については、Intune でのロールベースのアクセス制御 (RBAC)に関する記事を参照してください。

  • お使いの HoloLens 2 デバイスでユーザー グループまたはデバイス グループを作成する。 詳細については、「ユーザー グループとデバイス グループ」を参照してください。

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

  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 が作成されます。 この compiledPolicy.bin バイナリ ファイルを Intune に追加します。

    ConvertFrom-CIPolicy .\mergedPolicy.xml .\compiledPolicy.bin
    
  11. Intune でカスタム デバイス構成プロファイルを作成します。

    1. Microsoft エンドポイント マネージャー管理センターで、Windows 10/11 カスタム デバイス構成プロファイルを作成します。

      具体的な手順については、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 に変換されます。

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

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

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

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

次の手順

プロファイルを割り当てその状態を監視する

Intune のカスタム プロファイルの詳細を確認する