chassis(), baseboard() parsing improvements (windows)
This commit is contained in:
parent
9e10a904f4
commit
26f2b140ff
@ -317,6 +317,12 @@ function system(callback) {
|
|||||||
|
|
||||||
exports.system = system;
|
exports.system = system;
|
||||||
|
|
||||||
|
function cleanDefaults(s) {
|
||||||
|
if (s === 'Default string') { s = ''; }
|
||||||
|
if (s.toLowerCase().indexOf('o.e.m.') !== -1) { s = ''; }
|
||||||
|
|
||||||
|
return s
|
||||||
|
}
|
||||||
function bios(callback) {
|
function bios(callback) {
|
||||||
|
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
@ -418,7 +424,7 @@ function bios(callback) {
|
|||||||
}
|
}
|
||||||
result.releaseDate = util.getValue(lines, 'releasedate', ':');
|
result.releaseDate = util.getValue(lines, 'releasedate', ':');
|
||||||
result.revision = util.getValue(lines, 'buildnumber', ':');
|
result.revision = util.getValue(lines, 'buildnumber', ':');
|
||||||
result.serial = util.getValue(lines, 'serialnumber', ':');
|
result.serial = cleanDefaults(util.getValue(lines, 'serialnumber', ':'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (callback) { callback(result); }
|
if (callback) { callback(result); }
|
||||||
@ -555,23 +561,26 @@ function baseboard(callback) {
|
|||||||
const workload = [];
|
const workload = [];
|
||||||
const win10plus = parseInt(os.release()) >= 10;
|
const win10plus = parseInt(os.release()) >= 10;
|
||||||
const maxCapacityAttribute = win10plus ? 'MaxCapacityEx' : 'MaxCapacity';
|
const maxCapacityAttribute = win10plus ? 'MaxCapacityEx' : 'MaxCapacity';
|
||||||
workload.push(util.powerShell('Get-CimInstance Win32_baseboard | select Model,Manufacturer,Product,Version,SerialNumber,PartNumber,SKU | fl'));
|
workload.push(util.powerShell('Get-CimInstance Win32_baseboard | select Model,Manufacturer,Product,Version,SerialNumber,PartNumber,SKU,SMBIOSAssetTag | fl'));
|
||||||
workload.push(util.powerShell(`Get-CimInstance Win32_physicalmemoryarray | select ${maxCapacityAttribute}, MemoryDevices | fl`));
|
workload.push(util.powerShell(`Get-CimInstance Win32_physicalmemoryarray | select ${maxCapacityAttribute}, MemoryDevices | fl`));
|
||||||
util.promiseAll(
|
util.promiseAll(
|
||||||
workload
|
workload
|
||||||
).then((data) => {
|
).then((data) => {
|
||||||
let lines = data.results[0] ? data.results[0].toString().split('\r\n') : [''];
|
let lines = data.results[0] ? data.results[0].toString().split('\r\n') : [''];
|
||||||
|
|
||||||
result.manufacturer = util.getValue(lines, 'manufacturer', ':');
|
result.manufacturer = cleanDefaults(util.getValue(lines, 'manufacturer', ':'));
|
||||||
result.model = util.getValue(lines, 'model', ':');
|
result.model = cleanDefaults(util.getValue(lines, 'model', ':'));
|
||||||
if (!result.model) {
|
if (!result.model) {
|
||||||
result.model = util.getValue(lines, 'product', ':');
|
result.model = cleanDefaults(util.getValue(lines, 'product', ':'));
|
||||||
}
|
}
|
||||||
result.version = util.getValue(lines, 'version', ':');
|
result.version = cleanDefaults(util.getValue(lines, 'version', ':'));
|
||||||
result.serial = util.getValue(lines, 'serialnumber', ':');
|
result.serial = cleanDefaults(util.getValue(lines, 'serialnumber', ':'));
|
||||||
result.assetTag = util.getValue(lines, 'partnumber', ':');
|
result.assetTag = cleanDefaults(util.getValue(lines, 'partnumber', ':'));
|
||||||
if (!result.assetTag) {
|
if (!result.assetTag) {
|
||||||
result.assetTag = util.getValue(lines, 'sku', ':');
|
result.assetTag = cleanDefaults(util.getValue(lines, 'sku', ':'));
|
||||||
|
}
|
||||||
|
if (!result.assetTag) {
|
||||||
|
result.assetTag = cleanDefaults(util.getValue(lines, 'SMBIOSAssetTag', ':'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// memphysical
|
// memphysical
|
||||||
@ -688,22 +697,21 @@ function chassis(callback) {
|
|||||||
}
|
}
|
||||||
if (_windows) {
|
if (_windows) {
|
||||||
try {
|
try {
|
||||||
util.powerShell('Get-CimInstance Win32_SystemEnclosure | select Model,Manufacturer,ChassisTypes,Version,SerialNumber,PartNumber,SKU | fl').then((stdout, error) => {
|
util.powerShell('Get-CimInstance Win32_SystemEnclosure | select Model,Manufacturer,ChassisTypes,Version,SerialNumber,PartNumber,SKU,SMBIOSAssetTag | fl').then((stdout, error) => {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
let lines = stdout.toString().split('\r\n');
|
let lines = stdout.toString().split('\r\n');
|
||||||
|
|
||||||
result.manufacturer = util.getValue(lines, 'manufacturer', ':');
|
result.manufacturer = cleanDefaults(util.getValue(lines, 'manufacturer', ':'));
|
||||||
result.model = util.getValue(lines, 'model', ':');
|
result.model = cleanDefaults(util.getValue(lines, 'model', ':'));
|
||||||
const ctype = parseInt(util.getValue(lines, 'ChassisTypes', ':').replace(/\D/g, ''));
|
const ctype = parseInt(util.getValue(lines, 'ChassisTypes', ':').replace(/\D/g, ''));
|
||||||
result.type = (ctype && !isNaN(ctype) && ctype < chassisTypes.length) ? chassisTypes[ctype - 1] : '';
|
result.type = (ctype && !isNaN(ctype) && ctype < chassisTypes.length) ? chassisTypes[ctype - 1] : '';
|
||||||
result.version = util.getValue(lines, 'version', ':');
|
result.version = cleanDefaults(util.getValue(lines, 'version', ':'));
|
||||||
result.serial = util.getValue(lines, 'serialnumber', ':');
|
result.serial = cleanDefaults(util.getValue(lines, 'serialnumber', ':'));
|
||||||
result.assetTag = util.getValue(lines, 'partnumber', ':');
|
result.assetTag = cleanDefaults(util.getValue(lines, 'partnumber', ':'));
|
||||||
result.sku = util.getValue(lines, 'sku', ':');
|
if (!result.assetTag) {
|
||||||
if (result.manufacturer.toLowerCase().indexOf('o.e.m.') !== -1) { result.manufacturer = '-'; }
|
result.assetTag = cleanDefaults(util.getValue(lines, 'SMBIOSAssetTag', ':'));
|
||||||
if (result.version.toLowerCase().indexOf('o.e.m.') !== -1) { result.version = '-'; }
|
}
|
||||||
if (result.serial.toLowerCase().indexOf('o.e.m.') !== -1) { result.serial = '-'; }
|
result.sku = cleanDefaults(util.getValue(lines, 'sku', ':'));
|
||||||
if (result.assetTag.toLowerCase().indexOf('o.e.m.') !== -1) { result.assetTag = '-'; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (callback) { callback(result); }
|
if (callback) { callback(result); }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user