From 29ebfddcb112b7e2da296e3b53f7564941028531 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 19 Nov 2018 14:20:35 +0100 Subject: [PATCH] uuid() object - os specific uuid --- README.md | 3 ++- lib/osinfo.js | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 366ddfb..e170292 100644 --- a/README.md +++ b/README.md @@ -244,7 +244,8 @@ I also created a nice little command line tool called [mmon][mmon-github-url] ( | | serial | | X | X | X | | OS/Host serial number | | | build | | | X | X | | OS build version | | | codepage | X | X | X | X | | OS build version | -| si.uuid(cb) | : string | X | X | X | X| | device ID (based on OS install) | +| si.uuid(cb) | {...} | X | X | X | X | X | object of several UUIDs | +| | os | X | X | X | X | | os specific UUID | | si.versions(cb) | {...} | X | X | X | X | X | version information (kernel, ssl, node, ...) | | si.shell(cb) | : string | X | X | X | | | standard shell | | si.users(cb) | [{...}] | X | X | X | X | X | array of users online | diff --git a/lib/osinfo.js b/lib/osinfo.js index 59ccd58..b17eb07 100644 --- a/lib/osinfo.js +++ b/lib/osinfo.js @@ -505,14 +505,16 @@ function uuid(callback) { return new Promise((resolve) => { process.nextTick(() => { - let result = ''; + let result = { + os: '' + }; let parts; if (_darwin) { exec('ioreg -rd1 -c IOPlatformExpertDevice | grep IOPlatformUUID', function (error, stdout) { if (!error) { parts = stdout.toString().split('\n')[0].replace(/"/g, '').split('='); - result = parts.length > 1 ? parts[1].trim().toLowerCase() : ''; + result.os = parts.length > 1 ? parts[1].trim().toLowerCase() : ''; } if (callback) { callback(result); @@ -523,7 +525,7 @@ function uuid(callback) { if (_linux) { exec('( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :', function (error, stdout) { if (!error) { - result = stdout.toString().split('\n')[0].trim().toLowerCase(); + result.os = stdout.toString().split('\n')[0].trim().toLowerCase(); } if (callback) { callback(result); @@ -534,7 +536,7 @@ function uuid(callback) { if (_freebsd || _openbsd) { exec('kenv -q smbios.system.uuid', function (error, stdout) { if (!error) { - result = stdout.toString().split('\n')[0].trim().toLowerCase(); + result.os = stdout.toString().split('\n')[0].trim().toLowerCase(); } if (callback) { callback(result); @@ -545,7 +547,8 @@ function uuid(callback) { if (_windows) { exec('%windir%\\System32\\reg query "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography" /v MachineGuid', util.execOptsWin, function (error, stdout) { if (!error) { - result = stdout.toString().split('\n')[0].split('REG_SZ')[1].replace(/\r+|\n+|\s+/ig, '').toLowerCase(); + parts = stdout.toString().split('\n\r')[0].split('REG_SZ'); + result.os = parts.length > 1 ? parts[1].replace(/\r+|\n+|\s+/ig, '').toLowerCase() : ''; } if (callback) { callback(result);