【问题标题】:Web deployment task build failedWeb 部署任务构建失败
【发布时间】:2021-11-09 05:38:48
【问题描述】:

场景:

我为解决方案成功设置了 TFS2010 webdeploy 任务。一切正常,直到部署任务突然出现问题。

解决方案有 2 个 Web 项目。这些项目配置为在构建时部署并将其发布到开发服务器。

有人知道构建中有什么问题吗(信息如下)?

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets
(3847): Web deployment task failed.
((4.8.2011 11:01:10) An error occurred when the request was processed on the remote computer.)
(4.8.2011 11:01:10) An error occurred when the request was processed on the remote computer. Unable to perform the operation. Please contact your server administrator to check authorization and delegation settings.

如果有人需要,我可以提供更多信息。

【问题讨论】:

标签: visual-studio-2010


【解决方案1】:

我在通过 TFS 构建时遇到了同样的问题。当我尝试手动导入网站时,我收到了更多信息错误:“无法登录用户 \WDeployConfigWriter”。

事实证明,当您安装 web deploy 时,它会设置两个本地帐户 WDeployConfigWriter 和 WDeployAdmin。这些帐户的密码设置为过期。所以重置网络服务器上的密码并设置为“永不过期”。然后转到 IIS 中的管理服务委派。每个呈现的规则都有一个用户名字段。 WDeployAdmin 或 WDeployConfigWriter 右键单击​​并将凭据更新为新密码。

可以在此处找到带有屏幕截图的完整说明:http://workinghardinit.wordpress.com/2011/07/18/wdeployconfigwriter-account-issues-trouble-shooting-web-deploy-2-0-with-lessons-learned/

【讨论】:

  • 如果密码没有被更改,您可以简单地将帐户 WDeployConfigWriter 和 WDeployAdmin 设置为“用户不能更改密码”和“密码永不过期”。在我们的例子中“指定帐户的密码已过期”。位于新服务器安装的安全日志中。
  • 不错。这就是我的问题。我将 WDeployConfigWriter 用户的密码设置为不过期,这解决了问题。
  • 我能够在事件查看器中找到类似的错误(在 Server 2012 上的应用程序和服务日志 >> Microsoft Web 部署中)。错误在详细信息中显示为:Microsoft.Web.Delegation.DeploymentAuthorizationException: Not able to log on the user '.\WDeployConfigWriter'. ---> System.Runtime.InteropServices.COMException: The password for this account has expired.
  • 2016 年 2 月,我在 windows server 2008R2 上遇到了这个奇怪的问题,你的解决方案对我有用。
  • 我可以确认您不需要更改密码。根据@GoClimbColorado 的评论,设置“密码永不过期”足以解决问题而无需额外步骤
【解决方案2】:

您所要做的就是重新运行位于“C:\Program Files\IIS\Microsoft Web Deploy V3\Scripts\”中的脚本“AddDelegationRules.ps1”

这是第一次安装 web deploy 时运行的脚本。它将重新创建任何丢失的委派,重新设置 WebDeployAdmin 和 WebDeployConfigWriter 的密码,并将 WebDeployAdmin 添加回管理员组。

您仍然需要将每个帐户的密码设置为在重新运行脚本后不会过期。

【讨论】:

  • 您的建议对我帮助很大。我用“poverShell”找到并执行了这个脚本“AddDelegationRules.ps1”。我用的是 2012 r2 win server 和 VS2017。
  • 对我来说唯一可行的答案 - 使用 IIS 管理器用户而不是 Windows 用户。没有任何与密码相关的建议有效,但这个解决了它。谢谢!
【解决方案3】:

我们遇到了同样的问题——在我们的例子中,我们只使用 MSDeploy(没有 TFS)。重置这 2 个本地帐户(WDeployConfigWriterWDeployAdmin)的密码解决了问题,因为他们的密码已过期。我们尝试将密码策略更改为永不过期,但只有本地管理员可以这样做。

【讨论】:

  • 刚刚用这个答案自己解决了这个问题。不过对我来说还有一个步骤... 重置凭据后,您需要进入 IIS > 管理服务委派,然后选择每个规则并按 Edit .如果规则使用 WDeployConfigWriter 帐户,请按 Set... 按钮并重新输入刚刚更新的新凭据。
  • 这真的只是回答了一半...为了防止密码过期,打开本地组管理器(运行lusrmgr.msc),用户(在侧边栏中),双击帐户名,并勾选“密码永不过期”。
  • 我可以通过简单地取消选中 User must change password at next login 来解决这个问题,并且没有实际更改密码
【解决方案4】:

运行这个命令 lusrmgr.msc 双击用户和 双击账户名,勾选“密码永不过期”。

完毕。

【讨论】:

  • 我已经检查过了,但是部署有问题
【解决方案5】:

在我的例子中,它是一个糟糕的 Web Deploy 安装。

卸载然后重新安装 Web Deploy 为我修复了它 -- 修复没有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多