mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	Added amtstats command in server console.
This commit is contained in:
		
							parent
							
								
									3690207184
								
							
						
					
					
						commit
						cfce80e3e8
					
				
					 1 changed files with 38 additions and 0 deletions
				
			
		
							
								
								
									
										38
									
								
								meshuser.js
									
										
									
									
									
								
							
							
						
						
									
										38
									
								
								meshuser.js
									
										
									
									
									
								
							| 
						 | 
					@ -4990,6 +4990,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
 | 
				
			||||||
        'amtacm': [serverUserCommandAmtAcm, ""],
 | 
					        'amtacm': [serverUserCommandAmtAcm, ""],
 | 
				
			||||||
        'amtmanager': [serverUserCommandAmtManager, ""],
 | 
					        'amtmanager': [serverUserCommandAmtManager, ""],
 | 
				
			||||||
        'amtpasswords': [serverUserCommandAmtPasswords, ""],
 | 
					        'amtpasswords': [serverUserCommandAmtPasswords, ""],
 | 
				
			||||||
 | 
					        'amtstats': [serverUserCommandAmtStats, ""],
 | 
				
			||||||
        'args': [serverUserCommandArgs, ""],
 | 
					        'args': [serverUserCommandArgs, ""],
 | 
				
			||||||
        'autobackup': [serverUserCommandAutoBackup, ""],
 | 
					        'autobackup': [serverUserCommandAutoBackup, ""],
 | 
				
			||||||
        'backupconfig': [serverUserCommandBackupConfig, ""],
 | 
					        'backupconfig': [serverUserCommandBackupConfig, ""],
 | 
				
			||||||
| 
						 | 
					@ -6720,6 +6721,43 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function serverUserCommandAmtStats(cmdData) {
 | 
				
			||||||
 | 
					        parent.parent.db.GetAllType('node', function (err, docs) {
 | 
				
			||||||
 | 
					            var r = '';
 | 
				
			||||||
 | 
					            if (err != null) {
 | 
				
			||||||
 | 
					                r = "Error occured.";
 | 
				
			||||||
 | 
					            } else if ((docs == null) || (docs.length == 0)) {
 | 
				
			||||||
 | 
					                r = "No devices in database"
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                var amtData = { total: 0, versions: {}, state: {} };
 | 
				
			||||||
 | 
					                for (var i in docs) {
 | 
				
			||||||
 | 
					                    const node = docs[i];
 | 
				
			||||||
 | 
					                    if (node.intelamt != null) {
 | 
				
			||||||
 | 
					                        amtData['total']++;
 | 
				
			||||||
 | 
					                        if (node.intelamt.ver != null) { if (amtData.versions[node.intelamt.ver] == null) { amtData.versions[node.intelamt.ver] = 1; } else { amtData.versions[node.intelamt.ver]++; } }
 | 
				
			||||||
 | 
					                        if (node.intelamt.state != null) { if (amtData.state[node.intelamt.state] == null) { amtData.state[node.intelamt.state] = 1; } else { amtData.state[node.intelamt.state]++; } }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (amtData.total == 0) {
 | 
				
			||||||
 | 
					                    r = "No Intel AMT devices found"
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    r = "Total Intel AMT devices: " + amtData['total'] + '\r\n';
 | 
				
			||||||
 | 
					                    r += "Un-provisionned: " + amtData['state'][0] + '\r\n';
 | 
				
			||||||
 | 
					                    r += "Provisionned: " + amtData['state'][2] + '\r\n';
 | 
				
			||||||
 | 
					                    r += "Versions: " + '\r\n';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    // Sort the Intel AMT versions
 | 
				
			||||||
 | 
					                    var amtVersions = [];
 | 
				
			||||||
 | 
					                    for (var i in amtData.versions) { if (amtVersions.indexOf(i) == -1) { amtVersions.push(i); } }
 | 
				
			||||||
 | 
					                    var collator = new Intl.Collator([], { numeric: true });
 | 
				
			||||||
 | 
					                    amtVersions.sort((a, b) => collator.compare(a, b));
 | 
				
			||||||
 | 
					                    for (var i in amtVersions) { r += '  ' + amtVersions[i] + ': ' + amtData.versions[amtVersions[i]] + '\r\n'; }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            try { ws.send(JSON.stringify({ action: 'serverconsole', value: r, tag: cmdData.command.tag })); } catch (ex) { }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function serverUserCommandUpdateCheck(cmdData) {
 | 
					    function serverUserCommandUpdateCheck(cmdData) {
 | 
				
			||||||
        parent.parent.getServerTags(function (tags, error) {
 | 
					        parent.parent.getServerTags(function (tags, error) {
 | 
				
			||||||
            var r2 = '';
 | 
					            var r2 = '';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue