I do not know how much this will help you, I will tell you how I coped with this task, this is one of the options.
Option number 1
There are 3 large sets of autotests, each set is a separate Windows application (console, .exe)
The admin assigned me a virtual machine inside our network that hosts these test suites.
I wrote a checker application (agent) that checks the database for new tasks. Tasks in the database are created via the web interface. The agent finds the tasks needed to run and runs a specific application (autotest).
The bottom line is that the agent hangs on the same machine where the tests are and just does
Process.Start("AutotestName.exe");
After completion, the autotest sends an HTML report to E-mail
Also, in the web interface, you can configure a schedule for each test for each test, so we take autotest at night =)
Option number 2
Use TeamCity to run tests.
For example, in my last job, all auto tests were presented in the form of a .dll using NUnit .
In TeamCity , the build and launch of the autotest was set up, the autotest was run by a button, and the results were viewed there as Passed / Failed.
But for TeamCity , an agent must also be installed on the build machine.