How to find out the user account (Local System/User etc) a service is set to run under (\"Log On As\")?
Unlike this similar question this code can\'t run from within
This is the only way I know of, I found it looking around and tested it, it works. Make sure you use the Service Name not it's Display Name, you will also need to add a reference to System.Management
string serviceName = "aspnet_state";
SelectQuery query = new System.Management.SelectQuery(string.Format(
"select name, startname from Win32_Service where name = '{0}'", serviceName));
using (ManagementObjectSearcher searcher =
new System.Management.ManagementObjectSearcher(query))
{
foreach (ManagementObject service in searcher.Get())
{
Console.WriteLine(string.Format(
"Name: {0} - Logon : {1} ", service["Name"], service["startname"]));
}
}