mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-03-09 15:40:18 +00:00
Added Windows Service control in remote desktop tools
This commit is contained in:
parent
4bacd57aa5
commit
ebdf55844e
15 changed files with 256 additions and 38 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -672,7 +672,9 @@ function createMeshCore(agent)
|
|||
case 'ps': {
|
||||
// Return the list of running processes
|
||||
if (data.sessionid) {
|
||||
processManager.getProcesses(function (plist) { mesh.SendCommand({ "action": "msg", "type": "ps", "value": JSON.stringify(plist), "sessionid": data.sessionid }); });
|
||||
processManager.getProcesses(function (plist) {
|
||||
mesh.SendCommand({ "action": "msg", "type": "ps", "value": JSON.stringify(plist), "sessionid": data.sessionid });
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -684,6 +686,39 @@ function createMeshCore(agent)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case 'services': {
|
||||
// Return the list of installed services
|
||||
var services = null;
|
||||
try { services = require('service-manager').manager.enumerateService(); } catch (e) { }
|
||||
if (services != null) { mesh.SendCommand({ "action": "msg", "type": "services", "value": JSON.stringify(services), "sessionid": data.sessionid }); }
|
||||
break;
|
||||
}
|
||||
case 'serviceStop': {
|
||||
// Stop a service
|
||||
try {
|
||||
var service = require('service-manager').manager.getService(data.serviceName);
|
||||
if (service != null) { service.stop(); }
|
||||
} catch (e) { }
|
||||
break;
|
||||
}
|
||||
case 'serviceStart': {
|
||||
// Start a service
|
||||
try {
|
||||
var service = require('service-manager').manager.getService(data.serviceName);
|
||||
if (service != null) { service.start(); }
|
||||
} catch (e) { }
|
||||
break;
|
||||
}
|
||||
/*
|
||||
case 'serviceRestart': {
|
||||
// Start a service
|
||||
try {
|
||||
var service = require('service-manager').manager.getService(data.serviceName);
|
||||
if (service != null) { service.stop(); service.start(); }
|
||||
} catch (e) { }
|
||||
break;
|
||||
}
|
||||
*/
|
||||
case 'openUrl': {
|
||||
// Open a local web browser and return success/fail
|
||||
MeshServerLog('Opening: ' + data.url, data);
|
||||
|
@ -2037,6 +2072,11 @@ function createMeshCore(agent)
|
|||
response = JSON.stringify(addedModules);
|
||||
break;
|
||||
}
|
||||
case 'listservices': {
|
||||
var services = require('service-manager').manager.enumerateService();
|
||||
response = JSON.stringify(services, null, 1);
|
||||
break;
|
||||
}
|
||||
case 'getscript': {
|
||||
if (args['_'].length != 1) {
|
||||
response = 'Proper usage: getscript [scriptNumber].';
|
||||
|
|
42
agents/meshcore.min.js
vendored
42
agents/meshcore.min.js
vendored
|
@ -672,7 +672,9 @@ function createMeshCore(agent)
|
|||
case 'ps': {
|
||||
// Return the list of running processes
|
||||
if (data.sessionid) {
|
||||
processManager.getProcesses(function (plist) { mesh.SendCommand({ "action": "msg", "type": "ps", "value": JSON.stringify(plist), "sessionid": data.sessionid }); });
|
||||
processManager.getProcesses(function (plist) {
|
||||
mesh.SendCommand({ "action": "msg", "type": "ps", "value": JSON.stringify(plist), "sessionid": data.sessionid });
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -684,6 +686,39 @@ function createMeshCore(agent)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case 'services': {
|
||||
// Return the list of installed services
|
||||
var services = null;
|
||||
try { services = require('service-manager').manager.enumerateService(); } catch (e) { }
|
||||
if (services != null) { mesh.SendCommand({ "action": "msg", "type": "services", "value": JSON.stringify(services), "sessionid": data.sessionid }); }
|
||||
break;
|
||||
}
|
||||
case 'serviceStop': {
|
||||
// Stop a service
|
||||
try {
|
||||
var service = require('service-manager').manager.getService(data.serviceName);
|
||||
if (service != null) { service.stop(); }
|
||||
} catch (e) { }
|
||||
break;
|
||||
}
|
||||
case 'serviceStart': {
|
||||
// Start a service
|
||||
try {
|
||||
var service = require('service-manager').manager.getService(data.serviceName);
|
||||
if (service != null) { service.start(); }
|
||||
} catch (e) { }
|
||||
break;
|
||||
}
|
||||
/*
|
||||
case 'serviceRestart': {
|
||||
// Start a service
|
||||
try {
|
||||
var service = require('service-manager').manager.getService(data.serviceName);
|
||||
if (service != null) { service.stop(); service.start(); }
|
||||
} catch (e) { }
|
||||
break;
|
||||
}
|
||||
*/
|
||||
case 'openUrl': {
|
||||
// Open a local web browser and return success/fail
|
||||
MeshServerLog('Opening: ' + data.url, data);
|
||||
|
@ -2037,6 +2072,11 @@ function createMeshCore(agent)
|
|||
response = JSON.stringify(addedModules);
|
||||
break;
|
||||
}
|
||||
case 'listservices': {
|
||||
var services = require('service-manager').manager.enumerateService();
|
||||
response = JSON.stringify(services, null, 1);
|
||||
break;
|
||||
}
|
||||
case 'getscript': {
|
||||
if (args['_'].length != 1) {
|
||||
response = 'Proper usage: getscript [scriptNumber].';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue