C# .NET Windows服务用户名

C# .NET Windows服务用户名,c#,windows-services,C#,Windows Services,我有一个用.NET 4.5创建的Windows服务。它需要在域用户帐户(服务帐户)的上下文下运行,才能使用可信连接连接到SQL Server。在VS2013中,我将ProjectInstaller设置为使用帐户类型“User” 当我第一次安装并启动服务时,它会提示输入用户名和密码。这是意料之中的,因为我没有存储在任何地方。我觉得恼人的是,每当服务停止和启动时,它总是会要求输入用户名和密码 我假设(无法验证)如果服务停止并设置为自动重启,它将无法自动重启,因为它需要用户名和密码 是否有解决此问题的

我有一个用.NET 4.5创建的Windows服务。它需要在域用户帐户(服务帐户)的上下文下运行,才能使用可信连接连接到SQL Server。在VS2013中,我将ProjectInstaller设置为使用帐户类型“User”

当我第一次安装并启动服务时,它会提示输入用户名和密码。这是意料之中的,因为我没有存储在任何地方。我觉得恼人的是,每当服务停止和启动时,它总是会要求输入用户名和密码

我假设(无法验证)如果服务停止并设置为自动重启,它将无法自动重启,因为它需要用户名和密码


是否有解决此问题的方法,可能是在安装程序中添加用户名和密码

将域帐户凭据嵌入服务安装程序听起来不是件好事

以下属性应该对您有所帮助

  • 帐户:运行服务的用户帐户上下文
  • AccountType:当设置为自动时,当机器重新启动时,您的服务将作为启动的一部分启动
如果服务已安装,则可以从控制面板导航到本地服务,右键单击列表中的服务,然后转到属性。“登录”选项卡允许您指定服务作为哪个帐户运行

其他参考资料:

  • 服务安装程序的帐户属性:
  • 服务安装程序:

我终于找到了我需要的东西。您可以在installutil的命令行中传递用户名和密码。详情见:

同意,理想情况下,系统应存在一个开关,以记住输入的名称,而不是每次停止时重置。