我想弄清楚,如何建立在Windows 7硬件清单/报告,其中包括:的Windows硬件/设备驱动程序报告/库存
- 在/连接到系统的所有设备。每台设备(设备类型,制造商,驱动程序版本驱动程序日期,驱动程序提供程序,驱动程序文件,硬件ID)
- 驱动器/设备信息如果驱动程序进行了数字签名(WHQL)/有一个有效的签名
我找到了这篇文章。 http://www.codeproject.com/KB/system/SimpleSetup.aspx这是一个C++应用程序 - 我必须将其转换。 http://www.codeproject.com/KB/cs/EverythingInWmi03.aspx - 这是基于WMI(Windows Management Instrumentation)
基本上这些链接帮助了很多,但都没有提供完整的解决方案。我开始使用WMI方法,并意识到,这种方式我没有得到所有必要的信息,尤其是'isDriverDigitallySigned'信息非常重要。 我见过他们提到的文章,在检查设备驱动程序是否已进行数字签名或不能够通过检索X509证书等检查:
X509Certificate xcert = null;
try
{
var d = new DirectoryInfo(@"c:\windows\system32\drivers");
FileInfo[] allFiles = d.GetFiles();
foreach (FileInfo f in allFiles)
{
xcert = X509Certificate.CreateFromSignedFile(f.Name);
Console.WriteLine(f.Name + "\t" + xcert.GetName() + "\t" +
xcert.GetPublicKeyString());
}
}
但文档片断没有工作 - 在没有的.sys文件证书可以'提取'(CreateFromSignedFile)
我使用C#编码。
帮助表示赞赏。
谢谢,我知道这个类和属性。我尝试过,并且仍在试图找到一种方法,列举DevCon dp_enum和SigVerif.exe以及Verifier.exe等所有驱动程序 - 全都在一个代码/解决方案中。而且我仍然试图找到有关这方面的信息。 – 2010-10-29 06:56:11