powershell 将SIPolicy.p7b转换回XML?如何知道规则3(审核模式)是否在SIPolicy.p7b中?[Windows Defender应用程序控制] [SIPolicy]

mbjcgjjk  于 2023-05-07  发布在  Shell
关注(0)|答案(1)|浏览(180)

我已经为一个问题挣扎了一段时间了…基本上,我正在创建一个PowerShell GUI,它将允许我的组织中的管理员通过PowerShell部署Windows Defender应用程序控制(WDAC)策略,并提供用户友好的界面。
我的老板要求我放入一个状态标签,显示策略当前是处于Audit Mode、Enforce Mode还是Disabled(不存在)。我已经弄清楚了禁用的部分,但我想知道如何使用现有的SIPolicy.p7b文件并检查规则选项3(审核模式)?
我最初想看看是否有可能将SIPolicy二进制文件转换回XML,但恐怕这是一个失败的尝试。
我的第二个想法是从原始XML文件创建SIPolicy的临时副本,一个具有强制模式,一个具有审计模式,并比较文件散列,但这需要用户最初选择XML文件或将XML文件路径硬编码在脚本中,我强烈希望避免这种情况。
如果有人熟悉WDAC,二进制文件,PowerShell等。并且能够帮助解决问题或只是一些澄清指导,我真的很感激。
对不起,如果这篇文章做得不好,我从来没有在堆栈上发表过哈哈!
谢谢大家!

zxlwwiss

zxlwwiss1#

我有很多关于WDAC,二进制文件和PowerShell的资源,你可以在我的GitHub上找到它们:
https://github.com/HotCakeX/Harden-Windows-Security/wiki/Introduction

还有一个名为WDACConfig的模块

但是,无论是.cip还是.p7b.,都无法从二进制文件中获取XML文件
在Windows 11上,建议仅使用cip文件,将策略转换为多种策略格式,输出将为.cip
使用CITool进行部署,无需重新启动。
CITool还可以列出/更新/删除/刷新策略等。
当您在Windows 11 22 H2上使用CITool列出已部署的策略时,它会提供有关policyID、BasepolicyID等的信息。
在Windows 11内部渠道上,CITool为您提供了您正在寻找的确切信息。它显示了每个部署的策略中包含哪些策略规则选项,该策略是否已签名等等!希望更新和新功能将很快进入稳定频道。
顺便说一句,您可以从模块中提取任何您需要的内容,并将其合并到您正在制作的PowerShell GUI中:)
还有另一种方法可以确定哪个策略处于审核模式,在事件查看器中检查日志:Microsoft-Windows-CodeIntegrity/OperationalID = 3076。每当在审核模式下部署策略并且您运行该策略不允许的程序时,都会为其创建一个新的日志条目,其中包含有关文件以及生成该文件的策略的信息。

相关问题