не может получить серийный номер платы в nodejs - PullRequest
0 голосов
/ 22 марта 2019

Я использую Ubuntu в VMware. Я пытаюсь получить серийный номер платы.

var si = require("systeminformation");
console.log(si.baseboard().serial);

Возвращаем неопределённое значение. Проблема в моем коде? Или проблема в том, что Ubuntu работает в VMware?

Ответы [ 3 ]

0 голосов
/ 22 марта 2019

Чтобы завершить ответ AKX, si.baseboard() возвращает Обещание (начиная с v3 ), поэтому вы должны сделать что-то вроде этого:

si.baseboard().then(el => console.log(el.serial))

или, если вы хотите придерживаться синтаксиса обратного вызова

si.baseboard(el => { console.log(el.serial) })

Заметьте, для меня возвращается пустая строка, если я запускаю скрипт как обычный пользователь. Я могу отобразить серийный номер, только если я запустил его как root.

0 голосов
/ 22 марта 2019

Я считаю, что могу использовать серийный номер, чтобы получить уникальный номер даже на виртуальной машине.

var serialNumber = require('serial-number');

serialNumber(function (err, value) {
 console.log(value);
});
0 голосов
/ 22 марта 2019

Вы можете увидеть здесь в источнике systeminformation, что он читает файл /sys/devices/virtual/dmi/id/board_serial (если запустить dmidecode -t 2 2>/dev/null не удается).

Если вы cat /sys/devices/virtual/dmi/id/board_serial в вашей оболочке(если он вообще существует), что вы получаете?

Если он пуст или отсутствует, то данные не предоставляются вашей средой.

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