分享方式:


使用 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 原則,並將應用程式套件新增至 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。 在 步驟 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檔案。 它會自動將檔案從 bin 轉換成 base64。

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

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

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

  3. 將設定檔 指派給 您的 HoloLens 2 群組時,請檢查設定檔狀態。 成功套用配置文件之後,請重新啟動 HoloLens 2 裝置。