Я считаю, эта проблема уже открыта в репозитории ядра .Net GitHub.
Поэтому я считаю, что нет .NET API ядра, который может помочь вам достичь этого.
Есть один обходной путь, о котором я могу подумать.
У вас есть возможность запускать команды bash из кода C #, как показано ниже ( ссылка ):
public static class ShellHelper
{
public static string Bash(this string cmd)
{
var escapedArgs = cmd.Replace("\"", "\\\"");
var process = new Process()
{
StartInfo = new ProcessStartInfo
{
FileName = "/bin/bash",
Arguments = $"-c \"{escapedArgs}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
}
};
process.Start();
string result = process.StandardOutput.ReadToEnd();
process.WaitForExit();
return result;
}
}
Затем вы можете запустить команду bash, чтобы получить вывод в формате HTML ( ссылка ):
var output = "sudo lshw -html > hardwareinfo.html".Bash();
lshw
создаст файл HTML по указанному пути. У вас есть возможность как-то проанализировать эту информацию, чтобы получить информацию.
Надеюсь, это работает для вас.