make Software inventory optional (softwareInventory) (#7800)
stephannn committed
May 17, 2026 at 12:27 UTC
809ff2929d6c075a9d0c0c8824823706d01aa89e
4 files changed
+9
-4
meshcentral-config-schema.json
+5
@@ -1453,6 +1453,11 @@
1453
}
1454
}
1455
},
1456
+ "softwareInventory": {
1457
+ "type": "boolean",
1458
+ "default": false,
1459
+ "description": "When set to true, the Software Inventory feature is enabled."
1460
+ },
1461
"autoRemoveInactiveDevices": {
1462
"type": "integer",
1463
"default": 0,
meshuser.js
+2
@@ -646,6 +646,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
646
}
647
serverinfo.preConfiguredScripts = r;
648
}
649
+ serverinfo.softwareinventory = domain?.softwareinventory === true;
650
if (domain.maxdeviceview != null) { serverinfo.maxdeviceview = domain.maxdeviceview; } // Maximum number of devices a user can view at any given time
651
652
// Send server information
@@ -1065,6 +1066,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1066
command.value.indexOf('uninstallstoreapp ') === 0)));
1067
1068
if (isSoftwareCmd) {
1069
+ if (domain.softwareinventory !== true) { if (func) { func(false); } break; }
1070
// Wir prüfen auf MESHRIGHT_DEVICEDETAILS (0x100000)
1071
parent.GetNodeWithRights(domain, user, command.nodeid, function (node, rights, visible) {
1072
var mesh = parent.meshes[node.meshid];
views/default.handlebars
+1
-2
@@ -8150,8 +8150,7 @@
8150
QV('MainDevTerminal', (((node.agent == null) && (node.intelamt != null)) || ((node.agent) && (node.agent.caps == null)) || ((node.agent) && ((node.agent.caps & 2) != 0)) || (node.intelamt && (node.intelamt.state == 2))) && (meshrights & 8) && terminalAccess);
8151
QV('MainDevFiles', (node.agent != null) && (node.agent.caps != null) && ((node.agent.caps & 4) != 0) && (meshrights & 8) && fileAccess);
8152
QV('MainDevInfo', (node.mtype < 3) && ((meshrights & 1048576) != 0));
8153
- //QV('MainDevApps', (rights & 1) != 0);
8154
- QV('MainDevApps', (isWindowsNode(node) && (meshrights & 1048576) != 0));
8153
+ QV('MainDevApps', (serverinfo.softwareinventory === true && isWindowsNode(node) && (meshrights & 1048576) != 0));
8154
QV('MainDevAmt', (node.intelamt != null) && ((node.intelamt.state == 2) || (node.conn & 2)) && (meshrights & 8) && amtAccess);
8155
QV('MainDevConsole', (consoleRights && ((node.agent != null) && (node.agent.caps != null) && ((node.agent.caps & 8) != 0))) && (meshrights & 8));
8156
QV('MainDevPlugins', false);
views/default3.handlebars
+1
-2
@@ -9043,8 +9043,7 @@
9043
QV('MainDevTerminal', (((node.agent == null) && (node.intelamt != null)) || ((node.agent) && (node.agent.caps == null)) || ((node.agent) && ((node.agent.caps & 2) != 0)) || (node.intelamt && (node.intelamt.state == 2))) && (meshrights & 8) && terminalAccess);
9044
QV('MainDevFiles', (node.agent != null) && (node.agent.caps != null) && ((node.agent.caps & 4) != 0) && (meshrights & 8) && fileAccess);
9045
QV('MainDevInfo', (node.mtype < 3) && ((meshrights & 1048576) != 0));
9046
- //QV('MainDevApps', (rights & 1) != 0);
9047
- QV('MainDevApps', (isWindowsNode(node) && (meshrights & 1048576) != 0));
9046
+ QV('MainDevApps', (serverinfo.softwareinventory === true && isWindowsNode(node) && (meshrights & 1048576) != 0));
9047
QV('MainDevAmt', (node.intelamt != null) && ((node.intelamt.state == 2) || (node.conn & 2)) && (meshrights & 8) && amtAccess);
9048
QV('MainDevConsole', (consoleRights && ((node.agent != null) && (node.agent.caps != null) && ((node.agent.caps & 8) != 0))) && (meshrights & 8));
9049
QV('MainDevPlugins', false);