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 ポリシーを使用することもできます。
この記事では、以下の方法を示します。
- Windows PowerShell を使用して WDAC ポリシーを作成します。
- Windows PowerShell を使用して WDAC ポリシーの規則を XML に変換し、その XML を更新した後、その XML をバイナリ ファイルに変換します。
- Microsoft Intune で、カスタム デバイス構成プロファイルを作成し、この WDAC ポリシー バイナリ ファイルを追加して、ポリシーを HoloLens 2 デバイスに適用します。
Intune では、Windows Defender アプリケーション制御 (WDAC) CSP を使用するためにカスタム構成プロファイルを作成する必要があります。
この記事の手順をテンプレートとして使用すると、HoloLens 2 デバイスで特定のアプリを開くことを許可または拒否できます。
前提条件
Windows PowerShell に精通している。 実行ポリシー オプションの詳細については、「 Windows PowerShell about_Execution_Policies」を参照してください。
Intune ポリシーを構成するには、少なくとも、ポリシー とプロファイル マネージャー の組み込み Intune ロールのメンバーとして Intune 管理センターにサインインします。
Intune の組み込みロールと、その機能の詳細については、次のページを参照してください。
お使いの HoloLens 2 デバイスでユーザー グループまたはデバイス グループを作成する。 グループの詳細については、「 ユーザー グループとデバイス グループ」を参照してください。
手順 1 - Windows PowerShell を使用して WDAC ポリシーを作成する
この例では、Windows PowerShell を使用して、Windows Defender アプリケーション制御 (WDAC) ポリシーを作成します。 このポリシーにより、特定のアプリを開くことができなくなります。
デスクトップ コンピューターで、Windows PowerShell アプリを開きます。
デスクトップ コンピューターと 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
WDAC ポリシーを作成し、このアプリ パッケージを拒否規則に追加します。
$rule = New-CIPolicyRule -Package $package1 -Deny
拒否したいアプリケーションが他にもある場合は、手順 2 と 3 を繰り返します。
$rule += New-CIPolicyRule -Package $package<2..n> -Deny
たとえば、次のように入力します。
$package2 = Get-AppxPackage -name *windowsstore* $rule += New-CIPolicyRule -Package $package<2..n> -Deny
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
」と入力します。これは、"このバージョン以下を拒否すること" を意味します。
-
許可: 「
基幹業務アプリなど、Microsoft Store から取得したのではないアプリを展開して実行する予定の場合 (アプリ管理に関する記事を参照) は、その署名者を WDAC ポリシーに追加して、明示的にそれらのアプリを許可します。
注:
現在、WDAC と LOB アプリの使用は、HoloLens 用 Windows Insiders 機能でのみ利用できます。
たとえば、
ATestApp.msix
の展開を計画するとします。ATestApp.msix
はTestCert.cer
証明書によって署名されます。 次の Windows PowerShell スクリプトを使用して、署名者を WDAC ポリシーに追加します。Add-SignerRule -FilePath .\newPolicy.xml -CertificatePath .\TestCert.cer -User
newPolicy.xml を、デスクトップ コンピューター上にある既定のポリシーとマージします。 この手順によって mergedPolicy.xml が作成されます。 たとえば、Windows、WHQL 署名されたドライバー、ストアで署名されたアプリの実行を許可します。
Merge-CIPolicy -PolicyPaths .\newPolicy.xml,C:\Windows\Schemas\codeintegrity\examplepolicies\DefaultWindows_Audit.xml -o mergedPolicy.xml
mergedPolicy.xml で監査モード規則を無効にします。 マージすると、監査モードが自動的に有効になります。
Set-RuleOption -o 3 -Delete .\mergedPolicy.xml
mergedPolicy.xml で再起動時に EA を無効化規則を有効にします。
Set-RuleOption -o 15 .\mergedPolicy.xml
これらの規則の詳細については、「 WDAC ポリシールールとファイルルールについて」を参照してください。
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 デバイスに展開します。
Microsoft Intune 管理センターで、Windows カスタム デバイス構成プロファイルを作成します。
特定の手順については、「 Intune で OMA-URI を使用してカスタム プロファイルを作成する」を参照してください。
プロファイルを作成する際は、次の設定を入力します。
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 で作成)。
設定は次のようになります。
プロファイルが HoloLens 2 グループに割り当てられている場合は、プロファイルの状態を確認します。 プロファイルが正常に適用されたら、HoloLens 2 デバイスを再起動します。