Как получить серийный номер жесткого диска, совместимый с Linux / Windows - PullRequest
0 голосов
/ 23 января 2019

Есть ли способ получить серийный номер основного жесткого диска независимо от операционной системы?В Windows довольно просто с WMI или DllImport, но я не могу найти никакой документации о Linux. Или есть ли способ получить уникальный кросс-платформенный идентификатор машины?PS мне наплевать на клонирование виртуальной машины

Ответы [ 2 ]

0 голосов
/ 23 января 2019

В терминале Linux вы можете использовать команду ниже для получения SERIAL HDD.

udevadm info --query=all --name=/dev/sda | grep ID_SERIAL 

, где /dev/sda обычно является основным HDD.

Вы можете использовать статическую функцию, как показано ниже, для вызова Bash

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;
}

, затем выполнить

var output = "udevadm info --query=all --name=/dev/sda | grep ID_SERIAL".Bash();
0 голосов
/ 23 января 2019

Попробуйте это:

udevadm info --query=all --name=/dev/sda | grep ID_SERIAL

Существуют другие методы, но для этого не требуются права root.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...