We run Selenium grid as a Windows service on a Windows VM machine. First question is if Selenium grid is supposed to run well as a service, as when we configured our system, we had to set up the services outside of the Selenium standard installation procedure. Running as a service appears to create issues when we take screenshots from a test suite run. Our research indicates that running as a service will make Selenium to run as session0, which has limited access to resources and which limits the resolution. The screenshots are good if we stop the service and instead RDP into the box and start Selenium from within a user's command window. However, we can't have an RDP session running forever, and whenever the RDP session is disconnected, the Selenium grid will also go down. We have researched the issue and tried many things, including telling the windows service to allow desktop resources (it's a check-box at the service), using PowerShell scripts to set the resolution, running Selenium as a scheduled task both as SYSTEM user and as a particular user. We also found ideas about using an autologin feature, but it will not work in our case, as we use SSO. We also have some suggestions for installing a virtual dummy driver, but did not try out the virtual dummy driver idea yet.
I am wondering if anyone here has come across this issue and have found a solution, but perhaps this is more an issue of OS and VMWare than Selenium, and significantly depends on the specific VM configuration.