.NET Windows服务用户名

本文关键字:用户 服务 Windows NET | 更新日期: 2023-09-27 18:28:15

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

当我第一次安装并启动服务时,它会提示输入用户名和密码。这是意料之中的,因为我没有在任何地方存储。我觉得很烦人的是,无论何时服务停止和启动,它都会继续询问用户名和密码。

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

有没有解决这个问题的方法,可能会将用户名和密码添加到安装程序中?

.NET Windows服务用户名

在服务安装程序中嵌入域帐户凭据听起来并不是一件好事。

以下属性应该有助于

  • 帐户:运行服务的用户帐户上下文
  • AccountType:当设置为"自动"时,当机器重新启动时,您的服务将作为启动的一部分启动

如果服务已经安装,您可以从控制面板导航到本地服务,右键单击列表中的服务,然后转到属性。"登录"选项卡允许您指定服务以哪个帐户运行。

其他参考文献:

  • 服务安装程序的帐户属性:http://msdn.microsoft.com/en-us/library/system.serviceprocess.serviceprocessinstaller.account(v=vs.110).aspx
  • 服务安装程序:http://msdn.microsoft.com/en-us/library/ddhy0byf(v=vs.110).aspx

我终于找到了我需要的东西。您可以在installutil的命令行中传递用户名和密码。详细信息:使用InstallUtil并静默设置windows服务登录用户名/密码