我想弄清楚,如何建立在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