1

有没有办法使用 VBScript 读取文件的数字签名?我需要阅读属性:“签名者姓名”...我需要检查测试的 java.exe 文件是否由 Oracle 签名。

4

1 回答 1

0

有一种方法,但 UAC 会影响输出。当脚本在特定情况下执行时,输出会发生变化。

blnShowGUI设置为True并单击安装时,输出为“已签名”。否则脚本说未签名。

验证 C:\Windows\System32\java.exe

除非选择“始终安装...”,否则您每次都会收到此提示。安装“始终安装...”后,脚本将返回一致的输出。

安装选项

归功于 ActiveXperts和参考MSDN

set objSigner = WScript.CreateObject("Scripting.Signer")
'blnShowGUI = True
blnShowGUI = False
blnIsSigned = objSigner.VerifyFile("C:\Windows\System32\java.exe", blnShowGUI)
If blnIsSigned then
    WScript.Echo "Script has been signed."
Else
   WScript.Echo " Script has not been signed."
End If

您可能需要修改它,以便在第一次静默尝试返回“未签名”时调用 UAC。

于 2013-09-30T04:41:59.943 回答