我使用 VS2013 创建了一个 Windows 服务应用程序并将属性ServiceProcessInstaller.Account设置为System.ServiceProcess.ServiceAccount.LocalSystem并且在我授予SYSTEM帐户权限之前该服务不会运行。
但我怀疑该SYSTEM帐户是否与此处引用的帐户或此枚举值引用的帐户相同:System.ServiceProcess.ServiceAccount.LocalSystem。
我使用 VS2013 创建了一个 Windows 服务应用程序并将属性ServiceProcessInstaller.Account设置为System.ServiceProcess.ServiceAccount.LocalSystem并且在我授予SYSTEM帐户权限之前该服务不会运行。
但我怀疑该SYSTEM帐户是否与此处引用的帐户或此枚举值引用的帐户相同:System.ServiceProcess.ServiceAccount.LocalSystem。
来自MSDN 文章“LocalSystem Account”:
LocalSystem 帐户是服务控制管理器使用的预定义本地帐户。[...] 它在本地计算机上具有广泛的权限,并充当网络上的计算机。它的令牌包括 NT AUTHORITY\SYSTEM 和 BUILTIN\Administrators SID;这些帐户可以访问大多数系统对象。
这是一个微妙的区别;LocalSystem 是帐户的名称(由服务控制管理器定义;从内核的角度来看,它并不是真正的帐户),而 SYSTEM 是与该帐户关联的安全 ID 的名称。
结果是创建或修改服务时必须使用 LocalSystem 作为帐户名,但分配权限时必须使用 SYSTEM。(或者,您可以向管理员组授予权限。)