kdt Asked: 2010-04-08 01:29:24 +0800 CST2010-04-08 01:29:24 +0800 CST 2010-04-08 01:29:24 +0800 CST 是否有与 Sigverif.exe 等效的命令行? 772 Windows XP sigverif 工具可用于识别未签名的可执行文件,但似乎不适用于脚本——是否有等效的命令行? windows scripting 3 个回答 Voted RobW 2010-04-20T08:18:18+08:002010-04-20T08:18:18+08:00 我用过 sysinternals sigcheck.exe: http://technet.microsoft.com/en-us/sysinternals/bb897441.aspx Sigcheck v1.66 - 文件版本和签名查看器 版权所有 (C) 2004-2010 Mark Russinovich Sysinternals - www.sysinternals.com 用法:sigcheck [-a][-h][-i][-e][-n][[-s]|[-v]|[-m]][-q][-r][-u ][-c 目录文件] -a 显示扩展版本信息 -c 在指定的目录文件中查找签名 -e 仅扫描可执行映像(不管它们的扩展名) -h 显示文件哈希 -i 显示目录名称和图像签名者 -m 转储清单 -n 只显示文件版本号 -q 安静(无横幅) -r 检查证书吊销 -s 递归子目录 -u 只显示未签名的文件 -v CSV 输出 示例输出: c:\windows\system32\acedit.dll: Verified: Signed Signing date: 19:07 04/13/2008 Publisher: Microsoft Corporation Description: Access Control List Editor Product: Microsoft« Windows« Operating System Version: 5.1.2600.0 File version: 5.1.2600.0 (xpclient.010817-1148) 抢 Best Answer MattB 2010-04-08T06:10:29+08:002010-04-08T06:10:29+08:00 我认为没有直接等效的命令行,但有几件事可以让你接近。 首先,driverquery.exe有一个参数/si可以告诉您驱动程序的签名状态。它还有一个参数/fo csv可以将输出转储到 CSV。使用此命令的奇怪之处在于,如果使用/si参数,则无法获取驱动程序文件的完整路径(如果使用/v选项获取完整路径,则无法获取签名状态。 其次,如果您想使用 PowerShell 路径,可以使用Get-AuthenicodeSignaturecmdlet。这很奇怪,因为您必须将驱动程序路径传递给 cmdlet,因此您需要自己构建驱动程序列表。不过,您可以从 WMI 获得它,所以这样的东西可能适合您的需求: Get-WmiObject -class win32_systemdriver | foreach-object { get-authenticodesignature $_.pathname } fpmurphy 2010-04-20T07:00:32+08:002010-04-20T07:00:32+08:00 我自己没有尝试过,但我相信 signtool 有一个命令行选项来验证签名。
我用过 sysinternals sigcheck.exe:
http://technet.microsoft.com/en-us/sysinternals/bb897441.aspx
Sigcheck v1.66 - 文件版本和签名查看器 版权所有 (C) 2004-2010 Mark Russinovich Sysinternals - www.sysinternals.com
用法:sigcheck [-a][-h][-i][-e][-n][[-s]|[-v]|[-m]][-q][-r][-u ][-c 目录文件]
-a 显示扩展版本信息
-c 在指定的目录文件中查找签名
-e 仅扫描可执行映像(不管它们的扩展名)
-h 显示文件哈希
-i 显示目录名称和图像签名者
-m 转储清单
-n 只显示文件版本号
-q 安静(无横幅)
-r 检查证书吊销
-s 递归子目录
-u 只显示未签名的文件
-v CSV 输出
示例输出:
c:\windows\system32\acedit.dll:
抢
我认为没有直接等效的命令行,但有几件事可以让你接近。
首先,
driverquery.exe
有一个参数/si
可以告诉您驱动程序的签名状态。它还有一个参数/fo csv
可以将输出转储到 CSV。使用此命令的奇怪之处在于,如果使用/si
参数,则无法获取驱动程序文件的完整路径(如果使用/v
选项获取完整路径,则无法获取签名状态。其次,如果您想使用 PowerShell 路径,可以使用
Get-AuthenicodeSignature
cmdlet。这很奇怪,因为您必须将驱动程序路径传递给 cmdlet,因此您需要自己构建驱动程序列表。不过,您可以从 WMI 获得它,所以这样的东西可能适合您的需求:我自己没有尝试过,但我相信 signtool 有一个命令行选项来验证签名。