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) {