我有下面的 Windows 控制台程序代码,它应该显示NT Authoroty\Network Service但令人惊讶的是它拼写NetworkService没有空格......当我检查 SQLAgent 正在运行的帐户时,它确实是Network Service。
为什么这段代码会删除空格?由于NetworkService不存在,它会破坏我的所有解决方案。
PS:我不想硬编码用户;我必须自动得到它。
class Program
{
static string GetSQLAgentUsername()
{
string servicePath = string.Format("Win32_Service.Name='{0}'", "SQLSERVERAGENT");
using (ManagementObject theService = new ManagementObject(new ManagementPath(servicePath)))
{
return theService.Properties["StartName"].Value.ToString();
}
}
static void Main(string[] args)
{
System.Console.WriteLine(GetSQLAgentUsername());
System.Console.ReadKey();
}
}