diff --git a/CHANGELOG.md b/CHANGELOG.md index e2bb625..00ea6da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,8 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.10.3 | 2022-01-17 | `system()` improved virtual detection (windows) | +| 5.10.2 | 2022-01-17 | `uuid()` fix results (windows) | | 5.10.1 | 2022-01-17 | `cpu()` fix manufacturer | | 5.10.0 | 2022-01-09 | basic `Android` support | | 5.9.18 | 2022-01-08 | `wifiConections()` fix empty issue (mac OS) | diff --git a/docs/history.html b/docs/history.html index c9dbeda..9e97950 100644 --- a/docs/history.html +++ b/docs/history.html @@ -57,6 +57,11 @@ + + 5.10.3 + 2022-01-17 + system() improved virtual detection (windows) + 5.10.2 2022-01-17 diff --git a/docs/index.html b/docs/index.html index 48785c5..d8c6343 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.10.2
+
New Version: 5.10.3
diff --git a/lib/system.js b/lib/system.js index 0b9fd30..66fa47c 100644 --- a/lib/system.js +++ b/lib/system.js @@ -353,33 +353,21 @@ function system(callback) { result.serial = util.getValue(lines, 'identifyingnumber', ':'); result.uuid = util.getValue(lines, 'uuid', ':').toLowerCase(); // detect virtual (1) - if (result.model.toLowerCase() === 'virtualbox' || result.model.toLowerCase() === 'kvm' || result.model.toLowerCase() === 'virtual machine' || result.model.toLowerCase() === 'bochs' || result.model.toLowerCase().startsWith('vmware')) { + const model = result.model.toLowerCase(); + if (model === 'virtualbox' || model === 'kvm' || model === 'virtual machine' || model === 'bochs' || model.startsWith('vmware') || model.startsWith('qemu')) { result.virtual = true; - switch (result.model.toLowerCase()) { - case 'virtualbox': - result.virtualHost = 'VirtualBox'; - break; - case 'vmware': - result.virtualHost = 'VMware'; - break; - case 'kvm': - result.virtualHost = 'KVM'; - break; - case 'bochs': - result.virtualHost = 'bochs'; - break; - } + if (model.startsWith('virtualbox')) { result.virtualHost = 'VirtualBox'; } + if (model.startsWith('vmware')) { result.virtualHost = 'VMware'; } + if (model.startsWith('kvm')) { result.virtualHost = 'KVM'; } + if (model.startsWith('bochs')) { result.virtualHost = 'bochs'; } + if (model.startsWith('qemu')) { result.virtualHost = 'KVM'; } } - if (result.manufacturer.toLowerCase().startsWith('vmware') || result.manufacturer.toLowerCase() === 'xen') { + const manufacturer = result.manufacturer.toLowerCase(); + if (manufacturer.startsWith('vmware') || manufacturer.startsWith('qemu') || manufacturer === 'xen') { result.virtual = true; - switch (result.manufacturer.toLowerCase()) { - case 'vmware': - result.virtualHost = 'VMware'; - break; - case 'xen': - result.virtualHost = 'Xen'; - break; - } + if (manufacturer.startsWith('vmware')) { result.virtualHost = 'VMware'; } + if (manufacturer.startsWith('xen')) { result.virtualHost = 'Xen'; } + if (manufacturer.startsWith('qemu')) { result.virtualHost = 'KVM'; } } util.powerShell('Get-WmiObject MS_Systeminformation -Namespace "root/wmi" | fl *').then((stdout, error) => { if (!error) {