错误5021创建“托管服务帐户”

时间:2014-02-07 20:53:30

标签: asp.net iis configuration windows-server

我花了几天时间尝试在Windows Server 2012上为.NET Web应用程序设置“托管服务帐户”。让我们从错误开始并向后工作。

我尝试访问网站上的页面时会收到以下事件,其中*是我的应用程序池的名称:

  • 警告5021 - 应用程序池*的标识无效。为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限。如果未更正标识,则在应用程序池收到第一个请求时将禁用应用程序池。如果批处理登录权限导致问题,则在Windows进程激活服务(WAS)重试登录之前,必须在授予权限后更改IIS配置存储中的标识。如果在处理完第一次应用程序池请求后标识仍然无效,则将禁用应用程序池。数据字段包含错误编号。
  • 警告5057 - 已禁用应用程序池*。 Windows进程激活服务(WAS)未创建工作进程来为应用程序池提供服务,因为应用程序池标识无效。
  • 错误5059 - 已禁用应用程序池*。 Windows进程激活服务(WAS)在启动工作进程以提供应用程序池时遇到故障。

~~~

在站起来的新服务器时,我遇到了一个看起来很棒的功能,我之前没有用过:

由于我正在建立一个带有新数据库的新应用程序,这似乎是获取此动作的绝佳机会!

我最终想出了如何在域控制器上使用以下power shell命令创建托管服务帐户:

  • import-module activedirectory
  • new-ADServiceAccount -SAMACCOUNTname“ SERVICE_ACCT $
  • add-adComputerServiceAccount -Identity SERVER_NAME SERVICE_ACCT $

在同一个PowerShell窗口中,我可以使用此powershell命令列出给定服务器的服务帐户:

  • get-ADComputerServiceAccount SERVER_NAME

我的托管服务帐户就在那里!到目前为止一切都很好......

然后我必须修改我们的中央组策略,将我的服务帐户包含在“以批处理作业登录”和“作为服务登录”中。这些是在我们的域控制器上的Polices \ Windows设置\安全设置\本地策略\用户权限分配下(这些在本地服务器上是不可编辑的,因为它们被推下)。

更改和喝咖啡休息后,权利显示在我的服务器上!

所以现在我已经(1)创建了一个托管服务帐户,该帐户已被授予(2)特定服务器的访问权限,并且在该特定服务器上(3)该服务帐户已作为批处理作业/服务权限登录。我还(4)给了应用程序池和服务帐户修改访问网站文件夹。

我确认该网站使用默认的AppPoolIdentity帐户。

而且......我仍然得到上面的错误(我在整个过程中遇到过错误)。我必须遗漏一些东西,但我还能找到其他任何东西来尝试!

此致

库特

1 个答案:

答案 0 :(得分:4)

我不得不把它放在架子上一段时间,但最终能够让它工作。我找到的最有用的资源是关于MSA的以下YouTube。

http://www.youtube.com/watch?v=VNCGSQPhLuM

总结一下,有很多要求和步骤

域名要求:

  • 域功能级别 - Windows Server 2008R2 +
  • 运行ADPrep / ForestPrep

客户要求:

  • Windows Server 2008R2 +
  • .Net Framework 3.5
  • 适用于Windows PowerShell的Active Directory模块(这是使用AD DS安装的,但我可以在此过程中排除除模块之外的所有模块)。

支持的软件:

  • IIS - 是(应用程序池)
  • SQL Server - 否

在要使用MSA的服务器上,导航到服务器管理器 - 功能 - 添加功能

  • 确认3.5已安装框架
  • 确认已安装Windows PowerShell的Active Directory模块

在任何具有AD管理工具的服务器上,通过PowerShell:注意:我的MSA WorkProdDnnIIS ,我的主机 WorkProd2012

  • C:> import-module activedirectory
  • C:> New-ADServiceAccount -name WorkProdDnnIIS -enable $ true
  • C:> Add-AdComputerServiceAccount -Identity WorkProd2012 -ServiceAccount WorkProdDnnIIS

在任何具有AD管理工具的服务器上,通过AD用户和计算机

  • 新的MSA应列在“托管服务帐户”

在使用MSA的服务器上,通过PowerShell

  • C:> import-module activedirectory
  • C:> Install-AdServiceAccount -Identity WorkProdDnnIIS

在使用MSA的服务器上,通过IIS管理器

  • 更改应用程序池标识(例如POWER \ WorkProdDnnIIS $ - 最后需要美元符号,保留密码为空白)

最后,MSA for IIS应用程序池需要允许“以批处理作业登录”和“作为服务登录”的本地策略设置。我怀疑Install-ADServiceAccount会这样做,但是这些更改无法在本地进行。我在域控制器上手动编辑组策略以获得相同的最终结果。

此致

库特