diskLayout fix on VM (windows)

This commit is contained in:
Sebastian Hildebrandt 2020-10-02 13:09:25 +02:00
parent 1dd4028123
commit 1ed7115168

View File

@ -1001,7 +1001,6 @@ function diskLayout(callback) {
if (_windows) { if (_windows) {
try { try {
util.wmic('diskdrive get /value').then((stdout, error) => { util.wmic('diskdrive get /value').then((stdout, error) => {
if (!error) {
let devices = stdout.toString().split(/\n\s*\n/); let devices = stdout.toString().split(/\n\s*\n/);
devices.forEach(function (device) { devices.forEach(function (device) {
let lines = device.split('\r\n'); let lines = device.split('\r\n');
@ -1034,16 +1033,18 @@ function diskLayout(callback) {
devices.forEach(function (device) { devices.forEach(function (device) {
let lines = device.split('\r\n'); let lines = device.split('\r\n');
const serialNum = util.getValue(lines, 'SerialNumber', ':').trim(); const serialNum = util.getValue(lines, 'SerialNumber', ':').trim();
const name = util.getValue(lines, 'FriendlyName', ':').trim(); const name = util.getValue(lines, 'FriendlyName', ':').trim().replace('Msft ', 'Microsoft');
const size = util.getValue(lines, 'Size', ':').trim(); const size = util.getValue(lines, 'Size', ':').trim();
const model = util.getValue(lines, 'Model', ':').trim();
const interfaceType = util.getValue(lines, 'BusType', ':').trim(); const interfaceType = util.getValue(lines, 'BusType', ':').trim();
let mediaType = util.getValue(lines, 'MediaType', ':').trim(); let mediaType = util.getValue(lines, 'MediaType', ':').trim();
if (mediaType === '3' || mediaType === 'HDD') { mediaType = 'HD'; } if (mediaType === '3' || mediaType === 'HDD') { mediaType = 'HD'; }
if (mediaType === '4') { mediaType = 'SSD'; } if (mediaType === '4') { mediaType = 'SSD'; }
if (mediaType === '5') { mediaType = 'SCM'; } if (mediaType === '5') { mediaType = 'SCM'; }
if (mediaType === 'Unspecified' && model.toLowerCase().indexOf('virtual') > -1) { mediaType = 'Virtual'; }
if (size) { if (size) {
let i = util.findObjectByKey(result, 'serialNum', serialNum); let i = util.findObjectByKey(result, 'serialNum', serialNum);
if (i === -1) { if (i === -1 || serialNum === '') {
i = util.findObjectByKey(result, 'name', name); i = util.findObjectByKey(result, 'name', name);
} }
if (i != -1) { if (i != -1) {
@ -1063,12 +1064,6 @@ function diskLayout(callback) {
} }
resolve(result); resolve(result);
}); });
} else {
if (callback) {
callback(result);
}
resolve(result);
}
}); });
} catch (e) { } catch (e) {
if (callback) { callback(result); } if (callback) { callback(result); }