使用 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 原則,請至少以 Policy and Profile Manager 內建 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 原則,並將應用程式套件新增至 DENY 規則:
$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 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 測試人員功能。
例如,您計劃部署
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重新啟動規則上開啟 InvalidateEAS:
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檔案。 它會自動將檔案從 bin 轉換成 base64。
憑證檔案:上傳 步驟 10) 中建立 (compiledPolicy.bin 二進位檔。
您的設定看起來類似下列設定:
將設定檔 指派給 您的 HoloLens 2 群組時,請檢查設定檔狀態。 成功套用配置文件之後,請重新啟動 HoloLens 2 裝置。