使用 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裝置上開啟。

本功能適用於:

  • HoloLens 2執行 Windows Holographic for Business 的裝置

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 角色

      OR

    • 全域管理員Intune 服務管理員Microsoft Entra角色

    如需 Intune 角色的詳細資訊,請移至使用 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 原則,並將應用程式套件新增至 DENY 規則:

    $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 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 測試人員功能

    例如,您計畫部署 ATestApp.msixATestApp.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的重新開機規則上啟用 InvalidateEAS

    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 Intune 系統管理中心,建立 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 檔案。 它會自動將檔案從 bin 轉換成 base64。

    • 憑證檔案:上傳 (步驟 10) 中建立的 compiledPolicy.bin 二進位檔案。

    您的設定看起來類似下列設定:

    新增自訂 OMA-URI 以在 Microsoft Intune 中設定 ApplicationControl CSP。

  12. 將設定檔指派給您的HoloLens 2群組時,請檢查設定檔狀態。 成功套用設定檔之後,請重新開機HoloLens 2裝置。

後續步驟

指派設定檔,並 監視其狀態

深入瞭解 Intune 中的自訂設定檔