Ylianst / MeshCentral

A complete web-based remote monitoring and management web site. Once setup you can install agents and perform remote desktop session to devices on the local network or over the Internet.
https://meshcentral.com
Apache License 2.0
4.25k stars 568 forks source link

Would an maintainence automation system be welcomed to MeshCentral? #4288

Open LPJon opened 2 years ago

LPJon commented 2 years ago

Is your feature request related to a problem? Please describe. I manage a large number of endpoints and types of systems. It would be nice to be able to automate certain tasks through powershell or bash scripting from the MeshCentral server since it is already connected to those systems.

Describe the solution you'd like A "task scheduling" system that would allow me to "tag" certain agents to run a specified script that I have uploaded to MeshCentral server at a specified date and time. I would like to have those scripts saved and encrypted in the database rather than saved as a file on the local file system of the server but viewable and editable from the web UI. I would also like a side feature where under "User Consent" there is an option to require the users consent to run the script for windows systems.

Describe alternatives you've considered Other services like Infradog or monitoring like services. None really seem to fit the bill of Maintaining systems on a large scale. MeshCentral is already a central hub for remote access which makes it perfect for running automated maintenance tasks which don't require me to manually go to each system and setup.

Additional context For now this is just a question to see if anyone else would be interested in this as a feature to MeshCentral. I realize this could be a big undertaking and so it really needs to be supported by the MeshCentral community.

si458 commented 2 years ago

This already sorta exists as a plugin

https://github.com/ryanblenis/MeshCentral-ScriptTask

LPJon commented 2 years ago

@si458 While that does look promising It does look like maintenance of that project is pretty slow if at all. There are still issues on there from last year. But it looks like that is essentially what I have in mind. Is there a way to incorporate that into MeshCentral as part of it's source code rather than a plugin and build on it?

si458 commented 2 years ago

@LPJon meshcentral was never designed for rmm, it was designed for remote support Also plugins again where not designed to run on meshcentral, So hence plugins are sorta your own thing with no warranty so most people stopped developing them

Edit: you could look at tacticalrmm which is an rmm with automation and integrates with meshcentral

LPJon commented 2 years ago

@si458 Thanks!....I'm looking into that now. It also looks very promising.....

The github project location for it is here

Ylianst commented 2 years ago

In general, any idea that makes sense is welcome, this is very much a community driven project. I have been wanting to merge MeshCentral-ScriptTask in MeshCentral for a long time. I asked Ryan, the author, if it was ok that I do that and said yes, I even got started on it a while back but never finished the work. This is certainly something I need to take a look at again.

Yes, script automation would be a wonderful addition.

VINISHVV commented 2 years ago

@Ylianst - can you priorities this task.

Ylianst commented 2 years ago

I need an up-vote system for new features, that would make things easier when selecting what to work on.

silversword411 commented 2 years ago

I need an up-vote system for new features, that would make things easier when selecting what to work on.

After a little research, apparently we're all using Github wrong.

2022-07-21_214853 - firefox_Discussions_·_YlianstMeshCentral_—_Mozilla_Firefox

Feature requests in issues should be converted to discussions to allow upvoting and categorization.

SpookOz commented 2 years ago

Just my own 2c. I use ScriptTask and it works amazingly. In fact, I highly recommend checking out all Ryan's scripts as they are all pretty cool, but ScriptTask - for me at least - is the most useful and really expands MC to new levels. I have probably 40 or more scripts for Windows and Linux agents. It's not perfect. Some scripts don't seem to run well, and the reporting could be better. But these are definitely not make-or-break issues and the plugin overall is very, very cool.

LPJon commented 2 years ago

I know that MeshCentral was not meant to be an RMM but I really would like to see MeshCentral-ScriptTask brought into MeshCentral. @si458 I'm not sure if TacticalRMM will work for us as it has Commercial License issues. I'm currently trying to contact the project owner to find out exactly what they will and won't allow.

Still, MeshCentral sure would be better with something like MeshCentral-ScriptTask and I would prefer to keep using something that I have battle tested for a while now. MeshCentral for the most part has been rock solid, innovative, and astonishingly simple to use.

poiNt3D commented 2 years ago

I have constant problems with ScriptTask. Not mentioning the sloppy user interface, it managed to stop working completely one time, until i did a clean re-install of MeshCentral. It tries to run PS scripts without setting execution policy beforehand. Aslo it has problems with non-latin encodings, which makes it difficult to track script output on localized systems.

SpookOz commented 2 years ago

I have constant problems with ScriptTask. Not mentioning the sloppy user interface, it managed to stop working completely one time, until i did a clean re-install of MeshCentral. It tries to run PS scripts without setting execution policy beforehand. Aslo it has problems with non-latin encodings, which makes it difficult to track script output on localized systems.

It did stop working at one point due to an update in MC. However, once Ryan updated the plugin, it was working again. I agree, it's not perfect, but personally I find it adds some amazing functionality to MC. Regarding the Execution Policy, I have gotten around this issue by running "Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser", but I'm aware that then opens up the ability for malicious scripts running under the Mc user. I wonder if anyone has any input on how dangerous this actually is. Does MC run as "system" or it's own user?

ryanblenis commented 2 years ago

I just saw 1.0.70 changes and it looks like @Ylianst started integrating ScriptTask into MC proper, then reverted most of those changes to opt for a different approach. Glad he's trying to integrate those types of functions as I know how invaluable they can be in the project!

Thank you all for the kind words, just wanted to drop in and say hi and I haven't left the community, just slowed down plugin development to focus my resources on other projects.

And @poiNt3D , sorry about the sloppy UI, I'm not full-stack by trade, I live in the back end mainly so UI is foreign to me (and not fun at all, so props to everyone who can do it well!) and I don't have any non-localized systems to test with.

I really wanted to just show off the power that the plugin system can have for developers / the community and hopefully get an ecosystem going as I know many people interested in this project probably have some sort of development / scripting experience at some level. It didn't (or hasn't) quite worked out that way yet, but for those brave enough or who have a certain or specific need to fulfill, it fits the bill pretty nicely so far.

I'm looking forward to seeing how this integration progresses!

@Ylianst , thank you as always for your continued development on this awesome project! If you ever need a hand integrating this into MC, or have questions about the design decisions of ScriptTask versus MC methodology, let me know! (just, ummm, don't count on my skills for UI design, obviously 🤣 )

poiNt3D commented 2 years ago

And @poiNt3D , sorry about the sloppy UI, I'm not full-stack by trade, I live in the back end mainly so UI is foreign to me (and not fun at all, so props to everyone who can do it well!) and I don't have any non-localized systems to test with.

Now i feel bad for complaining. The UI was not the point of my angry remark. I had hoped that it would bring the attention to the need of making it a part of core functionality. Anyway, it is good that such a tool exists, and now looks like we going to see the next iteration of it merged to the main project. Thank you.