mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	allow msh get/set/delete from console (#6074)
Signed-off-by: si458 <simonsmith5521@gmail.com>
This commit is contained in:
		
							parent
							
								
									33c0e82286
								
							
						
					
					
						commit
						274bb525a5
					
				
					 1 changed files with 61 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -4142,7 +4142,67 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
 | 
			
		|||
                }
 | 
			
		||||
                break;
 | 
			
		||||
            case 'msh':
 | 
			
		||||
                if (args['_'].length == 0) {
 | 
			
		||||
                    response = JSON.stringify(_MSH(), null, 2);
 | 
			
		||||
                } else if (args['_'].length > 3) {
 | 
			
		||||
                    response = 'Proper usage: msh [get|set|delete]\r\nmsh get MeshServer\r\nmsh set abc "xyz"\r\nmsh delete abc';
 | 
			
		||||
                } else {
 | 
			
		||||
                    var mshFileName = process.execPath.replace('.exe','') + '.msh';
 | 
			
		||||
                    switch (args['_'][0].toLocaleLowerCase()) {
 | 
			
		||||
                        case 'get':
 | 
			
		||||
                            if (typeof args['_'][1] != 'string' || args['_'].length > 2) {
 | 
			
		||||
                                response = 'Proper usage: msh get MeshServer';
 | 
			
		||||
                            } else if(_MSH()[args['_'][1]]) {
 | 
			
		||||
                                response = _MSH()[args['_'][1]];
 | 
			
		||||
                            } else {
 | 
			
		||||
                                response = "Unknown Value: " + args['_'][1];
 | 
			
		||||
                            }
 | 
			
		||||
                            break;
 | 
			
		||||
                        case 'set': 
 | 
			
		||||
                            if (typeof args['_'][1] != 'string' || typeof args['_'][2] != 'string') {
 | 
			
		||||
                                response = 'Proper usage: msh set abc "xyz"';
 | 
			
		||||
                            } else {
 | 
			
		||||
                                var jsonToSave = _MSH();
 | 
			
		||||
                                jsonToSave[args['_'][1]] = args['_'][2];
 | 
			
		||||
                                var updatedContent = '';
 | 
			
		||||
                                for (var key in jsonToSave) {
 | 
			
		||||
                                    if (jsonToSave.hasOwnProperty(key)) {
 | 
			
		||||
                                        updatedContent += key + '=' + jsonToSave[key] + '\n';
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                try {
 | 
			
		||||
                                    require('fs').writeFileSync(mshFileName, updatedContent);
 | 
			
		||||
                                    response = "msh set " + args['_'][1] + " successful"
 | 
			
		||||
                                } catch (ex) {
 | 
			
		||||
                                    response = "msh set " + args['_'][1] + " unsuccessful";
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            break;
 | 
			
		||||
                        case 'delete':
 | 
			
		||||
                            if (typeof args['_'][1] != 'string') {
 | 
			
		||||
                                response = 'Proper usage: msh delete abc';
 | 
			
		||||
                            } else {
 | 
			
		||||
                                var jsonToSave = _MSH();
 | 
			
		||||
                                delete jsonToSave[args['_'][1]];
 | 
			
		||||
                                var updatedContent = '';
 | 
			
		||||
                                for (var key in jsonToSave) {
 | 
			
		||||
                                    if (jsonToSave.hasOwnProperty(key)) {
 | 
			
		||||
                                        updatedContent += key + '=' + jsonToSave[key] + '\n';
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                try {
 | 
			
		||||
                                    require('fs').writeFileSync(mshFileName, updatedContent);
 | 
			
		||||
                                    response = "msh delete " + args['_'][1] + " successful"
 | 
			
		||||
                                } catch (ex) {
 | 
			
		||||
                                    response = "msh delete " + args['_'][1] + " unsuccessful";
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            break;
 | 
			
		||||
                        default:
 | 
			
		||||
                            response = 'Proper usage: msh [get|set|delete]\r\nmsh get MeshServer\r\nmsh set abc "xyz"\r\nmsh delete abc';
 | 
			
		||||
                            break;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                break;
 | 
			
		||||
            case 'dnsinfo':
 | 
			
		||||
                if (require('os').dns == null) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue