这是可能的,如果是,如何为启用的 ValidateAdminCodeSignatures 注册表值创建例外?

这是可能的,如果是,如何为启用的 ValidateAdminCodeSignatures 注册表值创建例外?

修改WindowsValidateAdminCodeSignatures中包含的值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System会对任何请求提升权限的交互式应用程序强制执行 PKI 签名检查;我认为这很好,但我想继续使用一些软件(我信任的)但被这个注册表值阻止(如果启用),只有与启用此值结合的一些例外。

是否有可能为该值创建异常,如果可以,如何创建?

答案1

如果要求只是.exe必须签名,那么可以自行对软件进行签名:

  1. 创建代码签名证书,例如使用 PowerShellNew-SelfSignedCertificate或其他工具。(它几乎类似于 TLS 证书,只是具有不同的 extendedKeyUsage。)

  2. 将证书(不包含私钥)导出为 .crt 文件,然后将其导入回“受信任的发布者”部分。

  3. 使用Set-AuthenticodeSignature(或使用 signtool.exe,如果有)对您想要允许的每个 .exe 进行签名。

(您可能希望从受保护计算机以外的另一台计算机执行此操作。或者,您可以将证书的私钥存储在 TPM 或 Yubikey 中,在那里它可以受到 PIN 保护。)

答案2

我在这里找到了一个简单的解决方案:GitHub ─绕过UAC

命令很简单,只需要命令提示符:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "~\路径\可执行文件.exe""

相关内容