如果我在某个主机上使用域用户帐户运行 Windows 服务,而该帐户的密码稍后发生变化,那么该服务是否将无法启动,直到您更新密码?
如果不是,那么域用户帐户的凭据如何保留在运行服务的计算机上,以允许它们在密码更改后继续存在?
答案1
是的,如果您更改密码。那么您也必须更新该服务的密码。
答案2
此外,在 Windows Server 2008 R2(和 Windows 7)中,有一个(或两个)新的服务帐户类型(托管服务帐户),它将为您管理密码。
答案3
Will the service now fail to start, until you update the password?
是的。这使得第二个问题变得毫无意义。
我通常会禁用“服务”帐户的密码过期功能,将其设置为非常复杂的密码,并禁用它们对每台机器的登录权限,然后仅将它们添加到具有所需权限的本地机器。
答案4
使用最近更改过帐户密码的域帐户凭据运行的服务帐户仅在重新启动该服务时才会遇到问题。由于服务器尚未使用新密码更新,因此您的服务将无法验证服务帐户凭据,直到您使用正确的密码更新服务属性。
话虽如此,对于需要域级访问的服务,我们建议您使用 SERVER\NETWORK SERVICE 帐户。NETWORK SERVICE 帐户实际上是链接到 Active Directory 中的 DOMAIN\SERVERNAME 目录对象的别名帐户。
前任。 服务器 A\网络服务-->域\服务器 A
假设运行服务的服务器是 ServerA,而服务需要访问的资源是 ServerB。通过配置服务以使用 ServerA\NETWORK SERVICE 帐户,服务实际上将使用 DOMAIN\ServerA 帐户运行。这还有一个额外的好处,即自动计算机密码更改机制(默认情况下)每 30 天进行一次,对您或您的服务而言是透明的。
此外,如果您需要授予服务与同一林中的资源服务器(ServerB)通信的权限,您只需编辑 ServerB 上的访问权限以授予 DOMAIN\ServerA 帐户的访问权限(请记住它是 ServerA\NETWORK SERVICE 帐户的实际帐户),然后对 ServerB 上资源的所有请求都将使用 DOMAIN\ServerA 帐户的凭据执行。
尽管如此,Windows 2008 中的托管服务帐户(感谢 Oskar 指出这一点)看起来这是一种更好的方式来处理服务帐户需求!