我正在使用 signtool 对我的文件进行签名。
如何递归搜索文件夹和子文件夹中的所有 ocx、dll 和 exe,然后使用命令提示符对它们进行签名?我只想签署我开发的那些,而不是第三方的。
我正在使用 signtool 对我的文件进行签名。
如何递归搜索文件夹和子文件夹中的所有 ocx、dll 和 exe,然后使用命令提示符对它们进行签名?我只想签署我开发的那些,而不是第三方的。
尝试@echo off FOR /f "tokens=*" %%G IN ('dir /s *.dll *.ocx *.exe') DO ( echo %%G set A= "%%G" signtool sign /f "C:\Certificates\FakeCertificate.pfx" %A% )
这里的问题是如何区分您的二进制文件和第三方二进制文件。您可以创建一个白名单,或者如果您一直使用您的公司名称标记二进制文件版本信息,您可以采用以下方法:
Get-ChildItem *.* -r -inc *.dll,*.ocx,*.exe |
Where {($_ | Get-FileVersionInfo).CompanyName -match 'your-company-name'} |
Foreach {signtool sign <options> $_.Fullname}
注意:此方法使用来自 PowerShell 社区扩展的命令 (Get-FileVersionInfo),可在此处下载。