diff --git a/CHANGELOG.md b/CHANGELOG.md index a517d1a..e692c36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.9.12 | 2021-11-13 | `users()` fix data check (windows) | | 5.9.11 | 2021-11-12 | `fsStats()` fix null result (bsd) | | 5.9.10 | 2021-11-11 | `powerShell` transition from `wmic` (windows) | | 5.9.9 | 2021-10-27 | `graphics()` fixed screen resolution issue (windows) | diff --git a/docs/history.html b/docs/history.html index caf8a07..4c20b8b 100644 --- a/docs/history.html +++ b/docs/history.html @@ -57,6 +57,11 @@ + + 5.9.12 + 2021-11-13 + users() fix data check (windows) + 5.9.11 2021-11-12 diff --git a/docs/index.html b/docs/index.html index fa7560d..692ffff 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.9.11
+
New Version: 5.9.12
diff --git a/lib/users.js b/lib/users.js index 248fea0..fcc18f6 100644 --- a/lib/users.js +++ b/lib/users.js @@ -297,34 +297,36 @@ function users(callback) { util.powerShell(cmd).then(data => { // controller + vram // let accounts = parseWinAccounts(data[0].split(/\n\s*\n/)); - data = data.split('#-#-#-#'); - let sessions = parseWinSessions(data[0].split(/\n\s*\n/)); - let loggedons = parseWinLoggedOn(data[1].split(/\n\s*\n/)); - let users = parseWinUsers(data[2].split(/\n\s*\n/)); - for (let id in loggedons) { - if ({}.hasOwnProperty.call(loggedons, id)) { - loggedons[id].dateTime = {}.hasOwnProperty.call(sessions, id) ? sessions[id] : ''; - } - } - users.forEach(user => { - let dateTime = ''; + if (data) { + data = data.split('#-#-#-#'); + let sessions = parseWinSessions(data[0].split(/\n\s*\n/)); + let loggedons = parseWinLoggedOn(data[1].split(/\n\s*\n/)); + let users = parseWinUsers(data[2].split(/\n\s*\n/)); for (let id in loggedons) { if ({}.hasOwnProperty.call(loggedons, id)) { - if (loggedons[id].user === user.user && (!dateTime || dateTime < loggedons[id].dateTime)) { - dateTime = loggedons[id].dateTime; - } + loggedons[id].dateTime = {}.hasOwnProperty.call(sessions, id) ? sessions[id] : ''; } } + users.forEach(user => { + let dateTime = ''; + for (let id in loggedons) { + if ({}.hasOwnProperty.call(loggedons, id)) { + if (loggedons[id].user === user.user && (!dateTime || dateTime < loggedons[id].dateTime)) { + dateTime = loggedons[id].dateTime; + } + } + } - result.push({ - user: user.user, - tty: '', - date: `${dateTime.substr(0, 4)}-${dateTime.substr(4, 2)}-${dateTime.substr(6, 2)}`, - time: `${dateTime.substr(8, 2)}:${dateTime.substr(10, 2)}`, - ip: '', - command: '' + result.push({ + user: user.user, + tty: '', + date: `${dateTime.substr(0, 4)}-${dateTime.substr(4, 2)}-${dateTime.substr(6, 2)}`, + time: `${dateTime.substr(8, 2)}:${dateTime.substr(10, 2)}`, + ip: '', + command: '' + }); }); - }); + } if (callback) { callback(result); } resolve(result);