users tty improvement (windows)
This commit is contained in:
parent
d760a2ccec
commit
31868a7ddb
19
lib/users.js
19
lib/users.js
@ -344,6 +344,21 @@ function parseWinSessions(sessionParts) {
|
|||||||
return sessions;
|
return sessions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fuzzyMatch(name1, name2) {
|
||||||
|
name1 = name1.toLowerCase();
|
||||||
|
name2 = name2.toLowerCase();
|
||||||
|
let eq = 0;
|
||||||
|
let len = name1.length;
|
||||||
|
if (name2.length > len) { len = name1.length; }
|
||||||
|
|
||||||
|
for (let i = 0; i < len; i++) {
|
||||||
|
const c1 = name1[i] || '';
|
||||||
|
const c2 = name2[i] || '';
|
||||||
|
if (c1 === c2) { eq++; }
|
||||||
|
}
|
||||||
|
return (len > 10 ? eq / len > 0.9 : (len > 0 ? eq / len > 0.8 : false));
|
||||||
|
}
|
||||||
|
|
||||||
function parseWinUsers(userParts, userQuery) {
|
function parseWinUsers(userParts, userQuery) {
|
||||||
const users = [];
|
const users = [];
|
||||||
userParts.forEach(user => {
|
userParts.forEach(user => {
|
||||||
@ -354,7 +369,7 @@ function parseWinUsers(userParts, userQuery) {
|
|||||||
const sessionid = util.getValue(lines, 'sessionid', ':', true);
|
const sessionid = util.getValue(lines, 'sessionid', ':', true);
|
||||||
|
|
||||||
if (username) {
|
if (username) {
|
||||||
const quser = userQuery.filter(item => item.user === username);
|
const quser = userQuery.filter(item => fuzzyMatch(item.user, username));
|
||||||
users.push({
|
users.push({
|
||||||
domain,
|
domain,
|
||||||
user: username,
|
user: username,
|
||||||
@ -390,7 +405,7 @@ function parseWinLoggedOn(loggedonParts) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function parseWinUsersQuery(lines) {
|
function parseWinUsersQuery(lines) {
|
||||||
|
lines = lines.filter(item => item);
|
||||||
let result = [];
|
let result = [];
|
||||||
const header = lines[0];
|
const header = lines[0];
|
||||||
const headerDelimiter = [];
|
const headerDelimiter = [];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user