diff --git a/lib/system.js b/lib/system.js index 7c6e6f3..995d078 100644 --- a/lib/system.js +++ b/lib/system.js @@ -381,13 +381,13 @@ function system(callback) { break; } } - util.wmic('/namespace:\\\\root\\wmi path MS_SystemInformation get /value').then((stdout, error) => { + util.powerShell('Get-WmiObject MS_Systeminformation -Namespace "root/wmi" | fl *').then((stdout, error) => { if (!error) { let lines = stdout.split('\r\n'); result.sku = util.getValue(lines, 'systemsku', ':'); } if (!result.virtual) { - util.wmic('bios get Version, SerialNumber, SMBIOSBIOSVersion').then((stdout, error) => { + util.powerShell('Get-WmiObject Win32_bios | select Version, SerialNumber, SMBIOSBIOSVersion').then((stdout, error) => { if (!error) { let lines = stdout.toString(); if (lines.indexOf('VRTUAL') >= 0 || lines.indexOf('A M I ') >= 0 || lines.indexOf('VirtualBox') >= 0 || lines.indexOf('VMWare') >= 0 || lines.indexOf('Xen') >= 0) { @@ -517,27 +517,27 @@ function bios(callback) { } if (_windows) { try { - util.wmic('bios get /value').then((stdout, error) => { + util.powerShell('Get-WmiObject Win32_bios | fl *').then((stdout, error) => { if (!error) { let lines = stdout.toString().split('\r\n'); - const description = util.getValue(lines, 'description', '='); + const description = util.getValue(lines, 'description', ':'); if (description.indexOf(' Version ') !== -1) { // ... Phoenix ROM BIOS PLUS Version 1.10 A04 result.vendor = description.split(' Version ')[0].trim(); result.version = description.split(' Version ')[1].trim(); } else if (description.indexOf(' Ver: ') !== -1) { // ... BIOS Date: 06/27/16 17:50:16 Ver: 1.4.5 - result.vendor = util.getValue(lines, 'manufacturer', '='); + result.vendor = util.getValue(lines, 'manufacturer', ':'); result.version = description.split(' Ver: ')[1].trim(); } else { - result.vendor = util.getValue(lines, 'manufacturer', '='); - result.version = util.getValue(lines, 'version', '='); + result.vendor = util.getValue(lines, 'manufacturer', ':'); + result.version = util.getValue(lines, 'version', ':'); } - result.releaseDate = util.getValue(lines, 'releasedate', '='); + result.releaseDate = util.getValue(lines, 'releasedate', ':'); if (result.releaseDate.length >= 10) { result.releaseDate = result.releaseDate.substr(0, 4) + '-' + result.releaseDate.substr(4, 2) + '-' + result.releaseDate.substr(6, 2); } - result.revision = util.getValue(lines, 'buildnumber', '='); + result.revision = util.getValue(lines, 'buildnumber', ':'); } if (callback) { callback(result); } @@ -672,29 +672,29 @@ function baseboard(callback) { if (_windows) { try { const workload = []; - workload.push(util.wmic('baseboard get /value')); - workload.push(util.wmic('memphysical get MaxCapacity, MemoryDevices /value')); + workload.push(util.powerShell('Get-WmiObject Win32_baseboard | fl *')); + workload.push(util.powerShell('Get-WmiObject Win32_physicalmemoryarray | select MaxCapacity, MemoryDevices | fl')); util.promiseAll( workload ).then(data => { let lines = data.results[0] ? data.results[0].toString().split('\r\n') : ['']; - result.manufacturer = util.getValue(lines, 'manufacturer', '='); - result.model = util.getValue(lines, 'model', '='); + result.manufacturer = util.getValue(lines, 'manufacturer', ':'); + result.model = util.getValue(lines, 'model', ':'); if (!result.model) { - result.model = util.getValue(lines, 'product', '='); + result.model = util.getValue(lines, 'product', ':'); } - result.version = util.getValue(lines, 'version', '='); - result.serial = util.getValue(lines, 'serialnumber', '='); - result.assetTag = util.getValue(lines, 'partnumber', '='); + result.version = util.getValue(lines, 'version', ':'); + result.serial = util.getValue(lines, 'serialnumber', ':'); + result.assetTag = util.getValue(lines, 'partnumber', ':'); if (!result.assetTag) { - result.assetTag = util.getValue(lines, 'sku', '='); + result.assetTag = util.getValue(lines, 'sku', ':'); } // memphysical lines = data.results[1] ? data.results[1].toString().split('\r\n') : ['']; - result.memMax = util.toInt(util.getValue(lines, 'MaxCapacity', '=')) || null; - result.memSlots = util.toInt(util.getValue(lines, 'MemoryDevices', '=')) || null; + result.memMax = util.toInt(util.getValue(lines, 'MaxCapacity', ':')) || null; + result.memSlots = util.toInt(util.getValue(lines, 'MemoryDevices', ':')) || null; if (callback) { callback(result); } resolve(result); @@ -805,18 +805,18 @@ function chassis(callback) { } if (_windows) { try { - util.wmic('path Win32_SystemEnclosure get /value').then((stdout, error) => { + util.powerShell('Get-WmiObject Win32_SystemEnclosure | fl *').then((stdout, error) => { if (!error) { let lines = stdout.toString().split('\r\n'); - result.manufacturer = util.getValue(lines, 'manufacturer', '='); - result.model = util.getValue(lines, 'model', '='); - const ctype = parseInt(util.getValue(lines, 'ChassisTypes', '=').replace(/\D/g, '')); + result.manufacturer = util.getValue(lines, 'manufacturer', ':'); + result.model = util.getValue(lines, 'model', ':'); + const ctype = parseInt(util.getValue(lines, 'ChassisTypes', ':').replace(/\D/g, '')); result.type = (ctype && !isNaN(ctype) && ctype < chassisTypes.length) ? chassisTypes[ctype - 1] : ''; - result.version = util.getValue(lines, 'version', '='); - result.serial = util.getValue(lines, 'serialnumber', '='); - result.assetTag = util.getValue(lines, 'partnumber', '='); - result.sku = util.getValue(lines, 'sku', '='); + result.version = util.getValue(lines, 'version', ':'); + result.serial = util.getValue(lines, 'serialnumber', ':'); + result.assetTag = util.getValue(lines, 'partnumber', ':'); + result.sku = util.getValue(lines, 'sku', ':'); if (result.manufacturer.toLowerCase().indexOf('o.e.m.') !== -1) { result.manufacturer = '-'; } if (result.version.toLowerCase().indexOf('o.e.m.') !== -1) { result.version = '-'; } if (result.serial.toLowerCase().indexOf('o.e.m.') !== -1) { result.serial = '-'; }