CiTool 技术参考

CiTool 使 IT 管理员能够更轻松地Windows Defender应用程序控制 (WDAC) 策略管理。 可以使用此工具管理Windows Defender应用程序控制策略和 CI 令牌。 本文介绍如何使用 CiTool 更新和管理策略。 它当前包含在 Windows 11 版本 22H2 中的 Windows 映像中。

策略命令

命令 描述 Alias
--update-policy </Path/To/Policy/File> 在当前系统上添加或更新策略。 -up
--remove-policy <PolicyGUID> 从系统中删除 PolicyGUID 指示的策略。 -rp
--list-policies 转储有关系统上所有策略的信息,无论它们是否处于活动状态。 -lp

令牌命令

命令 描述 Alias
--add-token <Path/To/Token/File> <--token-id ID> 使用可选的特定 ID 将令牌部署到当前系统。 -at
--remove-token <ID> 从系统中删除 ID 指示的令牌。 -rt
--list-tokens 转储有关系统上所有令牌的信息。 -lt

注意

对于 --add-token,如果 <ID> 指定了 ,则不应存在具有 <ID> 的预先存在的令牌。

杂项命令

命令 描述 Alias
--device-id 转储代码完整性设备 ID。 -id
--refresh 尝试刷新 WDAC 策略。 -r
--help 显示工具的帮助菜单。 -h

输出属性和说明

列出策略 (--list-policies)

    Policy ID: d2bda982-ccf6-4344-ac5b-0b44427b6816
    Base Policy ID: d2bda982-ccf6-4344-ac5b-0b44427b6816
    Friendly Name: Microsoft Windows Driver Policy
    Version: 2814751463178240
    Platform Policy: true
    Policy is Signed: true
    Has File on Disk: false
    Is Currently Enforced: true
    Is Authorized: true
    Status: 0
属性 描述 示例值
策略 ID Lists策略的 ID。 d2bda982-ccf6-4344-ac5b-0b44427b6816
基本策略 ID Lists基本策略的 ID。 d2bda982-ccf6-4344-ac5b-0b44427b6816
友好名称 在 中列出的值 <Setting Provider="PolicyInfo" Key="Information" ValueName="Name"> Microsoft Windows Driver Policy
版本 中列出的策略版本 <VersionEx> 2814751463178240
平台策略 指示策略是否由 Microsoft 提供,例如在易受攻击的驱动程序阻止列表策略中。 true
策略已签名 指示策略是否具有有效的签名。 true
磁盘上有文件 指示策略文件当前是否位于磁盘上。 false
当前强制实施 指示策略文件是否处于活动状态。 true
是否授权 如果策略要求激活令牌,则此值是令牌的授权状态。 如果策略不需要令牌,则此值与 Is Currently Enforced 属性的值匹配。 true

示例

部署 WDAC 策略

CiTool --update-policy "\Windows\Temp\{BF61FE40-8929-4FDF-9EC2-F7A767717F0B}.cip"

刷新系统上的 WDAC 策略

CiTool --refresh

按策略 ID 删除特定 WDAC 策略

CiTool --remove-policy "{BF61FE40-8929-4FDF-9EC2-F7A767717F0B}"

列出系统上主动强制实施的 WDAC 策略

# Check each policy's IsEnforced state and return only the enforced policies
(CiTool -lp -json | ConvertFrom-Json).Policies | Where-Object {$_.IsEnforced -eq "True"} |
Select-Object -Property PolicyID,FriendlyName | Format-List

显示帮助菜单

CiTool -h

----------------------------- Policy Commands ---------------------------------
  --update-policy /Path/To/Policy/File
    Add or update a policy on the current system
    aliases: -up
  --remove-policy PolicyGUID
    Remove a policy indicated by PolicyGUID from the system
    aliases: -rp
  --list-policies
    Dump information about all policies on the system, whether they be active or not
    aliases: -lp
----------------------------- Token Commands ---------------------------------
  --add-token Path/To/Token/File <--token-id ID>
    Deploy a token onto the current system, with an optional specific ID
    If <ID> is specified, a pre-existing token with <ID> should not exist.
    aliases:-at
  --remove-token ID
    Remove a Token indicated by ID from the system.
    aliases: -rt
  --list-tokens
    Dump information about all tokens on the system
    aliases: -lt
----------------------------- Misc Commands ---------------------------------
  --device-id
    Dump the Code Integrity Device Id
    aliases: -id
  --refresh
    Attempt to Refresh CI Policies
    aliases: -r
  --help
    Display this message
    aliases: -h