2014-02-07 29 views
1

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

我碰到下面的事件曾经一次,我尝试在网站上,其中*是我的应用程序池的名称访问一个页面:

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

~~~

而站在了一个新的服务器,我碰到这似乎是我没有使用一个真棒功能来之前:

由于我正在用新数据库建立一个新应用程序,因此这似乎是一个完美的机会,可以将它用于驱动器!

我终于想通了如何创建一个域控制器上的以下电源外壳命令管理服务帐户:

  • 进口模块的ActiveDirectory
  • 新ADServiceAccount -SAMACCOUNTname“SERVICE_ACCT $
  • 附加adComputerServiceAccount -Identity SERVER_NAMESERVICE_ACCT $

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

  • 得到-ADComputerServiceAccount SERVER_NAME

我的托管服务帐户是有!迄今为止所有的好...

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

的变化和咖啡的休息之后,权利出现在我的服务器上!

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

我验证了网站的工作原理与默认AppPoolIdentity帐户。

而且......我仍然得到上面的错误(这是我在这整个过程中有过)。我必须失去一些东西,但我只能找到其他的东西来尝试!

问候,

库特

回答

3

我不得不把这个架子了一段时间,但最终能得到这个工作。我发现的最有用的资源是以下关于MSA的YouTube。

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

总之,有相当多的要求和步骤

领域需求:

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

客户端要求:

  • 的Windows Server 2008 R2 +
  • .NET Framework 3.5的
  • 的Active Directory模块的Windows PowerShell(这被安装与AD DS,但我能排除所有,但模块过程)中

支持的软件:

  • IIS - 是的(应用程序池)
  • SQL服务器 - 无

在服务器里MSA是使用,导航到服务器管理器 - 功能 - 新增功能

  • 确认3。5框架安装
  • 确认的Active Directory模块的Windows PowerShell安装

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

  • C:>导入模块ActiveDirectory的
  • C:>新ADServiceAccount -name WorkProdDnnIIS -enable $真
  • C:>添加-AdComputerServiceAccount -Identity WorkProd2012 -ServiceAccount WorkProdDnnIIS

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

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

在服务器上MSA是上市通过PowerShell使用

  • C:> import-module activedirectory
  • C:>安装-AdServiceAccount -Identity WorkProdDnnIIS

在其上MSA是要使用服务器,通过IIS管理

  • 更改应用程序池身份(例如电源\ WorkProdDnnIIS $ - 对端所需美元符号,留下的密码为空)

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

问候,

库特