Si esto ocurrirá con el consentimiento del usuario final, lo más fácil sería escribir un servicio simple para cada sistema operativo que utilizarán sus clientes, empaquetarlos como ejecutables de instalación convenientes y alojarlos en su servidor web.
Por ejemplo, en los sistemas Windows, todo lo que ese servicio / aplicación debería hacer es comenzar con el inicio del sistema, escuchar en un puerto predeterminado que no tiene firewall y esperar la autenticación y la solicitud de apagado del servidor. Una vez que la solicitud se haya autenticado de alguna manera que considere lo suficientemente segura (busque en la etiqueta autenticación para obtener más información), llame al ExitWindowsEx
Windows Función API (vea el enlace para la documentación de parámetros de entrada).
Por supuesto, los usuarios tendrán que dar su consentimiento para ejecutar el ejecutable y, dependiendo del puerto de red utilizado, posiblemente deshabilitarán el firewall y lo habilitarán para comunicarse con WAN también.
También se puede lograr algo similar para otros sistemas operativos, si eso es un requisito.