【问题标题】:TFS Release, running PowerShell, cannot create DtlDownloadsTFS 版本,运行 PowerShell,无法创建 DtlDownloads
【发布时间】:2021-02-12 16:07:57
【问题描述】:

我正在尝试使用 TFS 15(内部部署)启动和运行一些自动部署。我在部署目标上有一个 powershell 脚本要调用。

通过下载工件,部署开始正常。但是当代理运行脚本时,它想创建一个文件夹C:\Windows\DtlDownloads(我猜这不是我脚本的一部分,而是为 TFS 准备东西的一部分)。失败了:

##[debug]System.AggregateException: Failed to install 'VisualStudioRemoteDeployer20597940-38b2-4ba8-9a4d-fcc894308730' from service executable path VisualStudioRemoteDeployer.exe . Consult the logs below:
Access to the path 'DtlDownloads' is denied.
CategoryInfo :PermissionDenied: (C:\Windows\DtlDownloads:String) [New-Item], UnauthorizedAccessException
FullyQualifiedErrorId :CreateDirectoryUnauthorizedAccessError,Microsoft.PowerShell.Commands.NewItemCommand 

用于登录的用户是名为deploy 的服务器本地用户,他也是该计算机的本地管理员。我还检查了该用户在 windows 文件夹上的有效访问权限,它应该能够创建目录。

复制步骤也会发生类似的情况。 Robocopy 表示两个错误:

2017/03/16 08:57:21 ERROR 5 (0x00000005) Getting File System Type of Destination \\server.domain.com\c$\abc\def\ 
Access is denied.

2017/03/16 08:57:21 ERROR 5 (0x00000005) Creating Destination Directory \\server.domain.com\c$\abc\def\ 
Access is denied.

第二个有点出乎意料,因为文件夹 def 已经存在,但我想这是后续操作,因为事先获取类型失败。

用户本身必须已被识别,因为我在使用无效凭据时遇到不同的错误。我已经使用来自WinRM-Http-Https-Without-MakecertEnable-PSRemotingConfigureWinRM.ps1 启用了WinRM。

还有什么可以限制权限的?


更新:使用域用户而不是该服务器的本地用户可以解决问题。但我不明白为什么。有人可以解释甚至提供信息如何使其与本地用户一起使用吗?

【问题讨论】:

  • 您是否在发布定义中使用 Deploy: PowerShell on Target Machines 任务?
  • @Patrick-MSFT 是的。
  • 你能分享整个日志吗?

标签: tfs ms-release-management


【解决方案1】:

域或本地管理帐户的用户名 目标主机。

  • 支持用户名、域\用户名、机器名\用户名.\用户名等格式。
  • 不支持 username@domain.com 等 UPN 格式和 NT Authority\System 等内置系统帐户。

Source Link

域帐户和本地管理员都应该可以使用。请仔细检查您的格式并尝试使用其他格式。

【讨论】:

  • 我试过 .\deploymachine-name\deploy - 都没有成功。我什至尝试过如上所述的 UPN 格式也不起作用。
  • @ZoolWay 使用部署帐户时,您可以尝试在部署目标机器上手动运行 powershell 脚本吗?
  • @ZoolWay 也可以尝试关闭on deployment target机器上的防火墙或者开启WinRM相关的防火墙限制比如使用netsh advfirewall firewall add rule name="WinRM-HTTP" dir=in localport=5985 protocol=TCP action=allow防火墙可能是根本原因。
【解决方案2】:

一个问题可能是,如果您将代理作为服务,该服务没有适当的权限,例如在网络帐户上。尝试将其更改为具有管理权限的用户帐户。

【讨论】:

    【解决方案3】:

    运行“winrm quickconfig”为我解决了这个问题

    winrm quickconfig
    

    https://docs.microsoft.com/en-us/windows/win32/winrm/installation-and-configuration-for-windows-remote-management

    【讨论】:

      猜你喜欢
      • 2018-12-07
      • 1970-01-01
      • 2019-08-06
      • 2017-11-15
      • 2020-12-05
      • 1970-01-01
      • 2021-05-13
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多