Iis Msdeploy失败:帐户';xxx和x27;似乎无效

Iis Msdeploy失败:帐户';xxx和x27;似乎无效,iis,active-directory,teamcity,msdeploy,Iis,Active Directory,Teamcity,Msdeploy,我正在尝试从TeamCity为我们的一个新API端点进行自动化部署。我已经正确设置了所有内容,包括TeamCity调用MSDeploy将包发送到服务器的最后一步(我们这里讨论的是集成/测试服务器) 一切正常,但在IIS中创建新网站时,我们从另一个网站借用了一个服务用户,让应用程序池作为服务运行 当我们创建一个新的域用户并切换应用程序池时,我们的部署开始失败。MSDeploy给出的错误是: 错误:(30/10/2014 15:00:56)在远程计算机上处理请求时出错。 [15:00:56][步骤1

我正在尝试从TeamCity为我们的一个新API端点进行自动化部署。我已经正确设置了所有内容,包括TeamCity调用MSDeploy将包发送到服务器的最后一步(我们这里讨论的是集成/测试服务器)

一切正常,但在IIS中创建新网站时,我们从另一个网站借用了一个服务用户,让应用程序池作为服务运行

当我们创建一个新的域用户并切换应用程序池时,我们的部署开始失败。MSDeploy给出的错误是:

错误:(30/10/2014 15:00:56)在远程计算机上处理请求时出错。 [15:00:56][步骤1/1]错误:帐户“XXX”似乎无效。该帐户是从以下位置获得的:“system.applicationHost/applicationPools/*****.com”。 [15:00:56][Step 1/1]错误:无法翻译部分或所有标识引用。 [15:00:56][Step 1/1]位于System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts,键入targetType,Boolean forceSuccess) [15:00:56][Step 1/1]位于System.Security.Principal.NTAccount.Translate(键入targetType) [15:00:56][Step 1/1]位于Microsoft.Web.Deployment.Impersonator.GetNTAccount(字符串用户名,字符串源)

其中XXX是我们创建的新域用户。让我们调用借用的旧域用户“YYY”。我们正在使用第三个帐户“ZZZ”与web deploy连接。因此,应用程序池以YYY运行时一切正常,但当我们切换到XXX时,出现了此错误

我们看了又看,但是我们找不到XXX和YYY之间的任何区别。他们都在同一个广告组中,似乎在服务器上拥有相同的权限。使用帐户XXX通过RDP登录到服务器允许我们打开IIS GUI并浏览/管理站点

我一直找不到其他很多网站谈论这个问题,但这让我们完全困惑


仅供参考,我们已经重新启动了有问题的web服务器,看看这是否有帮助。它没有。此处返回的错误只是一个常规身份验证失败错误。在此特定场景中,身份验证失败是由用户原则名称与应用程序池运行时所用用户的SAM帐户名称之间的差异造成的

有关验证Active Directory用户时使用的名称的说明,请参见以下问题-

在我们的特定示例中,应用程序池的active directory用户名超过20个字符。SAM帐户名有20个字符的限制,这意味着不包括超过20个字符的所有字符

如链接答案中所述,指定域名和用户名时使用的格式将决定用于身份验证的名称版本。因此,对于“用户名长度超过20个字符”的示例用户名,以下格式适用:

域\用户名\u长于\u-使用SAM帐户名进行身份验证 或 用户名\u长于\u 20_characters@domain-使用用户原则名称进行身份验证


链接帖子中的答案还解释了如何检查Active Directory用户的SAM帐户名。

运气好吗?我也有同样的问题……恐怕没有;我们仍在使用从另一个应用程序池偷来的帐户。