show rdp port on button and set rdpport in console (#5708)

* add rdpport to console Signed-off-by: si458 <simonsmith5521@gmail.com> * add port number to rdp connect button Signed-off-by: si458 <simonsmith5521@gmail.com> --------- Signed-off-by: si458 <simonsmith5521@gmail.com>

Simon Smith committed Jan 19, 2024 at 02:56 UTC a2aed9e772cef0ea43eba756475a41a9a27e95eb
2 files changed +40 -1
agents/meshcore.js
+39 -1
@@ -3767,7 +3767,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
3767 if (require('os').dns != null) { availcommands += ',dnsinfo'; }
3768 try { require('linux-dhcp'); availcommands += ',dhcp'; } catch (ex) { }
3769 if (process.platform == 'win32') {
3770 - availcommands += ',cs,wpfhwacceleration,uac,volumes';
3770 + availcommands += ',cs,wpfhwacceleration,uac,volumes,rdpport';
3771 if (bcdOK()) { availcommands += ',safemode'; }
3772 if (require('notifybar-desktop').DefaultPinned != null) { availcommands += ',privacybar'; }
3773 try { require('win-utils'); availcommands += ',taskbar'; } catch (ex) { }
@@ -4051,6 +4051,44 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
4051 case 'timerinfo':
4052 response = require('ChainViewer').getTimerInfo();
4053 break;
4054 + case 'rdpport':
4055 + if (process.platform != 'win32') {
4056 + response = 'Unknown command "rdpport", type "help" for list of available commands.';
4057 + return;
4058 + }
4059 + if (args['_'].length == 0) {
4060 + response = 'Proper usage: rdpport [get|default|PORTNUMBER]';
4061 + } else {
4062 + switch (args['_'][0].toLocaleLowerCase()) {
4063 + case 'get':
4064 + var rdpport = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'System\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp', 'PortNumber');
4065 + response = "Current RDP Port Set To: " + rdpport + '\r\n';
4066 + break;
4067 + case 'default':
4068 + try {
4069 + require('win-registry').WriteKey(require('win-registry').HKEY.LocalMachine, 'System\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp', 'PortNumber', 3389);
4070 + response = 'RDP Port Set To 3389, Please Dont Forget To Restart Your Computer To Fully Apply';
4071 + } catch (ex) {
4072 + response = 'Unable to Set RDP Port To: 3389';
4073 + }
4074 + break;
4075 + default:
4076 + if (isNaN(parseFloat(args['_'][0]))){
4077 + response = 'Proper usage: rdpport [get|default|PORTNUMBER]';
4078 + } else if(parseFloat(args['_'][0]) < 0 || args['_'][0] > 65535) {
4079 + response = 'RDP Port Must Be More Than 0 And Less Than 65535';
4080 + } else {
4081 + try {
4082 + require('win-registry').WriteKey(require('win-registry').HKEY.LocalMachine, 'System\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp', 'PortNumber', parseFloat(args['_'][0]));
4083 + response = 'RDP Port Set To ' + args['_'][0] + ', Please Dont Forget To Restart Your Computer To Fully Apply';
4084 + } catch (ex) {
4085 + response = 'Unable to Set RDP Port To: '+args['_'][0];
4086 + }
4087 + }
4088 + break;
4089 + }
4090 + }
4091 + break;
4092 case 'find':
4093 if (args['_'].length <= 1) {
4094 response = "Proper usage:\r\n find root criteria [criteria2] [criteria n...]";
views/default.handlebars
+1
@@ -8984,6 +8984,7 @@
8984 var online = ((currentNode.conn & 1) != 0); // If Agent (1) connected, enable remote desktop
8985 QE('connectbutton1', online);
8986 QE('connectbutton1r', online || (currentNode.mtype == 3));
8987 + Q('connectbutton1r').value = 'RDP Connect' + ((currentNode.rdpport && currentNode.rdpport != 3389) ? ' ('+currentNode.rdpport + ')' : '');
8988 var hwonline = ((currentNode.conn & 6) != 0); // If CIRA (2) or AMT (4) connected, enable hardware terminal
8989 QE('connectbutton1h', hwonline);
8990 QV('deskFocusBtn', (desktop != null) && (desktop.contype == 2) && (deskState != 0) && (desktopsettings.showfocus));