Updated various commands to support agent branding
Bryan Roe committed
Jan 5, 2021 at 09:47 UTC
91f33dfd73f7cfd0f5acc8c28c34a6092a01913e
1 file changed
+55
-12
agents/meshcore.js
+55
-12
@@ -47,7 +47,8 @@ function createMeshCore(agent) {
47
var agentFileHttpPendingRequests = []; // Pending HTTPS GET requests from the server.
48
var debugConsole = (_MSH().debugConsole == 1);
49
50
- if (process.platform == 'win32' && require('user-sessions').isRoot()) {
50
+ if (process.platform == 'win32' && require('user-sessions').isRoot())
51
+ {
52
// Check the Agent Uninstall MetaData for correctness, as the installer may have written an incorrect value
53
try {
54
var writtenSize = 0, actualSize = Math.floor(require('fs').statSync(process.execPath).size / 1024);
@@ -56,10 +57,20 @@ function createMeshCore(agent) {
57
} catch (x) { }
58
59
// Check to see if we are the Installed Mesh Agent Service, if we are, make sure we can run in Safe Mode
59
- try {
60
+ var svcname = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent';
61
+ try
62
+ {
63
+ svcname = require('MeshAgent').serviceName;
64
+ }
65
+ catch (x)
66
+ {
67
+ }
68
+
69
+ try
70
+ {
71
var meshCheck = false;
61
- try { meshCheck = require('service-manager').manager.getService('Mesh Agent').isMe(); } catch (e) { }
62
- if (meshCheck && require('win-bcd').isSafeModeService && !require('win-bcd').isSafeModeService('Mesh Agent')) { require('win-bcd').enableSafeModeService('Mesh Agent'); }
72
+ try { meshCheck = require('service-manager').manager.getService(svcname).isMe(); } catch (e) { }
73
+ if (meshCheck && require('win-bcd').isSafeModeService && !require('win-bcd').isSafeModeService(svcname)) { require('win-bcd').enableSafeModeService(svcname); }
74
} catch (e) { }
75
}
76
@@ -1054,6 +1065,14 @@ function createMeshCore(agent) {
1065
case 'uninstallagent':
1066
// Uninstall this agent
1067
var agentName = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent';
1068
+ try
1069
+ {
1070
+ agentName = require('MeshAgent').serviceName;
1071
+ }
1072
+ catch (x)
1073
+ {
1074
+ }
1075
+
1076
if (require('service-manager').manager.getService(agentName).isMe()) {
1077
try { diagnosticAgent_uninstall(); } catch (e) { }
1078
var js = "require('service-manager').manager.getService('" + agentName + "').stop(); require('service-manager').manager.uninstallService('" + agentName + "'); process.exit();";
@@ -3119,29 +3138,45 @@ function createMeshCore(agent) {
3138
}
3139
break;
3140
case 'safemode':
3122
- if (process.platform != 'win32') {
3141
+ if (process.platform != 'win32')
3142
+ {
3143
response = 'safemode only supported on Windows Platforms'
3144
}
3125
- else {
3126
- if (args['_'].length != 1) {
3145
+ else
3146
+ {
3147
+ if (args['_'].length != 1)
3148
+ {
3149
response = 'Proper usage: safemode (ON|OFF|STATUS)'; // Display usage
3150
}
3129
- else {
3130
- switch (args['_'][0].toUpperCase()) {
3151
+ else
3152
+ {
3153
+ var svcname = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent';
3154
+ try
3155
+ {
3156
+ svcname = require('MeshAgent').serviceName;
3157
+ }
3158
+ catch (x)
3159
+ {
3160
+ }
3161
+
3162
+ switch (args['_'][0].toUpperCase())
3163
+ {
3164
default:
3165
response = 'Proper usage: safemode (ON|OFF|STATUS)'; // Display usage
3166
break;
3167
case 'ON':
3168
require('win-bcd').setKey('safeboot', 'Network');
3136
- require('win-bcd').enableSafeModeService('Mesh Agent');
3169
+ require('win-bcd').enableSafeModeService(svcname);
3170
break;
3171
case 'OFF':
3172
require('win-bcd').deleteKey('safeboot');
3173
break;
3174
case 'STATUS':
3175
var nextboot = require('win-bcd').getKey('safeboot');
3143
- if (nextboot) {
3144
- switch (nextboot) {
3176
+ if (nextboot)
3177
+ {
3178
+ switch (nextboot)
3179
+ {
3180
case 'Network':
3181
case 'network':
3182
nextboot = 'SAFE_MODE_NETWORK';
@@ -3280,6 +3315,14 @@ function createMeshCore(agent) {
3315
}
3316
case 'uninstallagent': // Uninstall this agent
3317
var agentName = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent';
3318
+ try
3319
+ {
3320
+ agentName = require('MeshAgent').serviceName;
3321
+ }
3322
+ catch (x)
3323
+ {
3324
+ }
3325
+
3326
if (!require('service-manager').manager.getService(agentName).isMe()) {
3327
response = 'Uininstall failed, this instance is not the service instance';
3328
} else {