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