Я пытаюсь выяснить, как создать инвентаризацию оборудования / отчет по Windows 7, включая:
- Все устройства, подключенные к системе или подключенные к ней.
- Информация о драйвере / устройстве для каждого устройства (тип устройства, производитель, версия драйвера, дата драйвера, поставщик драйвера, файлы драйвера, идентификаторы оборудования)
- Если драйверы имеют цифровую подпись (WHQL) / имеют действительную подпись
Я нашел эту статью.
http://www.codeproject.com/KB/system/SimpleSetup.aspx это приложение на C ++ - мне нужно его преобразовать.
http://www.codeproject.com/KB/cs/EverythingInWmi03.aspx - этот основан на WMI (инструментарий управления Windows)
В основном эти ссылки очень помогли, но обе не дают полного решения. я начал с подхода 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 #.
Помощь приветствуется.