【发布时间】: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-Makecert 的Enable-PSRemoting 和ConfigureWinRM.ps1 启用了WinRM。
还有什么可以限制权限的?
更新:使用域用户而不是该服务器的本地用户可以解决问题。但我不明白为什么。有人可以解释甚至提供信息如何使其与本地用户一起使用吗?
【问题讨论】:
-
您是否在发布定义中使用 Deploy: PowerShell on Target Machines 任务?
-
@Patrick-MSFT 是的。
-
你能分享整个日志吗?