forgot meshcore for domains, doh!

Signed-off-by: si458 <simonsmith5521@gmail.com>

si458 committed Dec 27, 2025 at 19:46 UTC 63325841dd32a9b225e637db4d7d497df4b3c4fc
1 file changed +13 -9
agents/meshcore.js
+13 -9
@@ -83,12 +83,12 @@ function bcdOK() {
83 }
84 function getDomainInfo() {
85 var hostname = require('os').hostname();
86 - var ret = { Name: hostname, Domain: "" };
86 + var ret = { Name: hostname, Domain: "", PartOfDomain: false };
87
88 switch (process.platform) {
89 case 'win32':
90 try {
91 - ret = require('win-wmi').query('ROOT\\CIMV2', 'SELECT * FROM Win32_ComputerSystem', ['Name', 'Domain'])[0];
91 + ret = require('win-wmi').query('ROOT\\CIMV2', 'SELECT * FROM Win32_ComputerSystem', ['Name', 'Domain', 'PartOfDomain'])[0];
92 }
93 catch (x) {
94 }
@@ -126,7 +126,7 @@ function getDomainInfo() {
126 }
127 while (names.length > 0) {
128 if (hostname.endsWith('.' + names.peek())) {
129 - ret = { Name: hostname.substring(0, hostname.length - names.peek().length - 1), Domain: names.peek() };
129 + ret = { Name: hostname.substring(0, hostname.length - names.peek().length - 1), Domain: names.peek(), PartOfDomain: true };
130 break;
131 }
132 names.pop();
@@ -682,7 +682,7 @@ function onUserSessionChanged(user, locked) {
682 var u = [], a = users.Active;
683 if(meshCoreObj.lusers == null) { meshCoreObj.lusers = []; }
684 if(meshCoreObj.upnusers == null) { meshCoreObj.upnusers = []; }
685 - var ret = require('win-wmi').query('ROOT\\CIMV2', 'SELECT * FROM Win32_ComputerSystem', ['Domain','PartOfDomain'])[0];
685 + var ret = getDomainInfo();
686 for (var i = 0; i < a.length; i++) {
687 var un = a[i].Domain ? (a[i].Domain + '\\' + a[i].Username) : (a[i].Username);
688 if (user && locked && (JSON.stringify(a[i]) === JSON.stringify(user))) { if (meshCoreObj.lusers.indexOf(un) == -1) { meshCoreObj.lusers.push(un); } }
@@ -1926,7 +1926,11 @@ function getSystemInformation(func) {
1926 try { delete x.TotalVisibleMemorySize; } catch (ex) { }
1927 try {
1928 if (results.hardware.windows.memory) { for (var i in results.hardware.windows.memory) { delete results.hardware.windows.memory[i].Node; } }
1929 - if (results.hardware.windows.osinfo) { delete results.hardware.windows.osinfo.Node; }
1929 + if (results.hardware.windows.osinfo) {
1930 + delete results.hardware.windows.osinfo.Node;
1931 + results.hardware.windows.osinfo.Domain = getDomainInfo().Domain;
1932 + results.hardware.windows.osinfo.PartOfDomain = getDomainInfo().PartOfDomain;
1933 + }
1934 if (results.hardware.windows.partitions) { for (var i in results.hardware.windows.partitions) { delete results.hardware.windows.partitions[i].Node; } }
1935 } catch (ex) { }
1936 if (x.LastBootUpTime) { // detect windows uptime
@@ -4072,7 +4076,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
4076 if (require('os').dns != null) { availcommands += ',dnsinfo'; }
4077 try { require('linux-dhcp'); availcommands += ',dhcp'; } catch (ex) { }
4078 if (process.platform == 'win32') {
4075 - availcommands += ',bitlocker,cs,wpfhwacceleration,uac,volumes,rdpport,deskbackground';
4079 + availcommands += ',bitlocker,cs,wpfhwacceleration,uac,volumes,rdpport,deskbackground,domaininfo';
4080 if (bcdOK()) { availcommands += ',safemode'; }
4081 if (require('notifybar-desktop').DefaultPinned != null) { availcommands += ',privacybar'; }
4082 try { require('win-utils'); availcommands += ',taskbar'; } catch (ex) { }
@@ -4187,7 +4191,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
4191 case 'domaininfo':
4192 {
4193 if (process.platform != 'win32') {
4190 - response = 'Unknown command "cs", type "help" for list of available commands.';
4194 + response = 'Unknown command "domaininfo", type "help" for list of available commands.';
4195 break;
4196 }
4197 if (global._domainQuery != null) {
@@ -4774,7 +4778,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
4778 p.sessionid = sessionid;
4779 p.then(function (u) {
4780 var v = [];
4777 - var ret = require('win-wmi').query('ROOT\\CIMV2', 'SELECT * FROM Win32_ComputerSystem', ['Domain','PartOfDomain'])[0];
4781 + var ret = getDomainInfo();
4782 for (var i in u) {
4783 if (u[i].State == 'Active') {
4784 if (u[i].Domain != null && u[i].Domain == 'AzureAD'){
@@ -5002,7 +5006,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
5006 case 'users': {
5007 if (meshCoreObj.users == null) { response = 'Active users are unknown.'; } else { response = 'Active Users: ' + meshCoreObj.users.join(', ') + '.'; }
5008 require('user-sessions').enumerateUsers().then(function (u) {
5005 - var ret = require('win-wmi').query('ROOT\\CIMV2', 'SELECT * FROM Win32_ComputerSystem', ['Domain','PartOfDomain'])[0];
5009 + var ret = getDomainInfo();
5010 for (var i in u) {
5011 if (u[i].Domain != null && u[i].Domain == 'AzureAD'){
5012 // AzureAD to-do