共用方式為


拿掉商務用應用程控原則

注意

商務用應用程控的某些功能僅適用於特定的 Windows 版本。 深入了解 應用程控功能可用性

拿掉應用程控原則

您可能會想要移除一或多個應用程控原則,或移除您已部署的所有應用程控原則。 本文說明移除應用程控原則的各種方式。

重要

已簽署的基底應用程控原則

如果您嘗試移除的基底原則是已簽署的應用程控原則,您必須先部署包含選項 6 Enabled:Unsigned System Integrity Policy 的已簽署取代原則。

取代原則必須與它要取代的 PolicyId 相同,以及等於或大於現有原則的版本。 取代原則也必須包含 <UpdatePolicySigners>。

若要生效,此原則必須以您想要取代之原始原則的 UpdatePolicySigners> 區段中<所包含的憑證簽署。

接著,您必須重新啟動計算機,才能停用原則的 UEFI 保護。 無法這樣做會導致開機啟動失敗。

已簽署的補充應用程控原則可以與未簽署的原則以相同方式移除,而不需要遵循上述步驟

拿掉任何原則之前,您必須先停用用來部署它的方法, (例如 群組原則 或 MDM) 。 否則,原則可能會重新部署至計算機。

若要在移除原則之前讓原則實際上處於非作用中狀態,您可以先將原則取代為包含下列變更的新原則:

  1. 將原則規則取代為 「Allow *」 規則;
  2. 設定選項 3 Enabled:Audit Mode 以將原則變更為僅稽核模式;
  3. 設定選項 11 已停用:腳本強制執行;
  4. 允許所有 COM 物件。 請參閱 在應用程控原則中允許 COM 對象註冊;
  5. 如果適用,請移除選項 0 Enabled:UMCI ,只將原則轉換成核心模式。

使用 CiTool.exe 移除應用程控原則

從 Windows 11 2022 Update 開始,您可以使用 CiTool.exe 移除應用程控原則。 從提升許可權的命令視窗中,執行下列命令。 請務必將文字 PolicyId GUID 取代為您想要移除之應用程控原則的實際 PolicyId:

CiTool.exe -rp "{PolicyId GUID}" -json

注意

從 Windows 11 2024 更新開始,不帶正負號的原則可以使用 CiTool.exe 移除,而不需要重新啟動。 不過,在舊版 Windows 中,需要重新啟動才能完成移除程式。

使用 MDM 解決方案移除應用程控原則,例如 Intune

您可以使用行動 裝置管理 (MDM) 解決方案,例如 Microsoft Intune,使用 ApplicationControl CSP 從用戶端電腦移除應用程控原則。

如需使用ApplicationControl CSP的特定資訊,請洽詢您的 MDM 解決方案提供者。

然後重新啟動電腦。

使用腳本移除應用程控原則

若要使用腳本移除應用程控原則,您的腳本必須從計算機刪除原則檔案 () 。 如 需多個原則格式 (1903+) 應用程控原則,請在下列位置尋找原則檔案。 請務必將 PolicyId GUID 取代為您想要移除之應用程控原則的實際 PolicyId。

  • <EFI 系統分割區>\Microsoft\Boot\CiPolicies\Active\{PolicyId GUID}.cip
  • <OS 磁盘區>\Windows\System32\CodeIntegrity\CiPolicies\Active\{PolicyId GUID}.cip

針對 單一原則格式應用程控原則,除了上述兩個位置之外,也請尋找名為 SiPolicy.p7b 的檔案,該檔案可能位於下列位置:

  • <EFI 系統分割區>\Microsoft\Boot\SiPolicy.p7b
  • <OS 磁盘區>\Windows\System32\CodeIntegrity\SiPolicy.p7b

然後重新啟動電腦。

刪除單一應用程控原則的範例腳本

# Set PolicyId GUID to the PolicyId from your App Control policy XML
$PolicyId = "{PolicyId GUID}"

# Initialize variables
$SinglePolicyFormatPolicyId = "{A244370E-44C9-4C06-B551-F6016E563076}"
$SinglePolicyFormatFileName = "\SiPolicy.p7b"
$MountPoint =  $env:SystemDrive+"\EFIMount"
$SystemCodeIntegrityFolderRoot = $env:windir+"\System32\CodeIntegrity"
$EFICodeIntegrityFolderRoot = $MountPoint+"\EFI\Microsoft\Boot"
$MultiplePolicyFilePath = "\CiPolicies\Active\"+$PolicyId+".cip"

# Mount the EFI partition
$EFIPartition = (Get-Partition | Where-Object IsSystem).AccessPaths[0]
if (-Not (Test-Path $MountPoint)) { New-Item -Path $MountPoint -Type Directory -Force }
mountvol $MountPoint $EFIPartition

# Check if the PolicyId to be removed is the system reserved GUID for single policy format.
# If so, the policy may exist as both SiPolicy.p7b in the policy path root as well as
# {GUID}.cip in the CiPolicies\Active subdirectory
if ($PolicyId -eq $SinglePolicyFormatPolicyId) {$NumFilesToDelete = 4} else {$NumFilesToDelete = 2}

$Count = 1
while ($Count -le $NumFilesToDelete)
{

    # Set the $PolicyPath to the file to be deleted, if exists
    Switch ($Count)
    {
        1 {$PolicyPath = $SystemCodeIntegrityFolderRoot+$MultiplePolicyFilePath}
        2 {$PolicyPath = $EFICodeIntegrityFolderRoot+$MultiplePolicyFilePath}
        3 {$PolicyPath = $SystemCodeIntegrityFolderRoot+$SinglePolicyFormatFileName}
        4 {$PolicyPath = $EFICodeIntegrityFolderRoot+$SinglePolicyFormatFileName}
    }

    # Delete the policy file from the current $PolicyPath
    Write-Host "Attempting to remove $PolicyPath..." -ForegroundColor Cyan
    if (Test-Path $PolicyPath) {Remove-Item -Path $PolicyPath -Force -ErrorAction Continue}

    $Count = $Count + 1
}

# Dismount the EFI partition
mountvol $MountPoint /D

注意

您必須以系統管理員身分執行腳本,才能移除電腦上的應用程控原則。

拿掉導致開機停止失敗的應用程控原則

封鎖開機關鍵驅動程式的應用程控原則可能會導致開機停止失敗 (發生 BSOD) ,但您可以藉由在原則中設定選項 10 Enabled:Boot Audit On Failure 來減輕此問題。 此外,已簽署的應用程控原則會保護原則,避免系統管理操作和惡意代碼取得系統管理層級的存取權。 基於這個理由,簽署的應用程控原則會刻意比不帶正負號的原則更難以移除,即使是系統管理員也是如此。 竄改或移除已簽署的應用程控原則會導致 BSOD 發生。

若要移除導致開機停止失敗的原則:

  1. 如果原則是 已簽署的 應用程控原則,請從 UEFI BIOS 功能表關閉安全開機。 如需尋找在 BIOS 功能表中關閉安全開機位置的說明,請洽詢原始設備製造商 (OEM) 。
  2. 存取您電腦上的 [進階開機選項] 功能表,然後選擇 [ 停用驅動程序簽章強制執行] 選項。 如需在啟動期間存取 [進階開機選項] 功能表的指示,請洽詢您的 OEM。 此選項會暫停單一開機會話的所有程式代碼完整性檢查,包括應用程控。
  3. 正常啟動 Windows 並登入。 然後, 使用腳本移除應用程控原則
  4. 如果您在上述步驟 1 中關閉安全開機,且您的磁碟驅動器受到 BitLocker 保護,請 暫停 BitLocker 保護 ,然後從 UEFI BIOS 功能表開啟安全開機。
  5. 重新啟動電腦。

注意

如果您的磁碟驅動器受到 Bitlocker 保護,您可能需要 Bitlocker 修復密鑰來執行上述步驟 1-2。