serial-number
Version:
Reads the machine's serial number (a.k.a. service/asset tag) or Amazon EC2 instance-id
35 lines (30 loc) • 971 B
JavaScript
var serialNumber = require('./index');
var fail = function (err) {
console.error('Could not read serial number:', err);
};
serialNumber(function (err) {
if (process.platform !== 'win32' && err && err.toString().match(/Permission denied/i)) {
[
'\x1B[7m' + // inverse style
'Your system requires root/administrative priviledge to access the serial number.' +
'\x1B[27m',
'\x1B[31m' + // red
'Attempting to run command with `sudo` and cache your serial for future use.' +
'\x1B[39m'
].forEach(function (msg) {console.info(msg);});
serialNumber.useSudo(function (err, val) {
if (err) {return fail(err);}
require('fs').writeFile(__dirname + '/cache', val, function (err) {
if (err) {
console.error('Could not write serial number cache file:', err);
} else {
// green
console.info('\x1B[32m' + 'Successfully cached serial number' + '\x1B[39m');
}
});
});
} else if (err) {
fail(err);
}
});
;