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