安全需要TFS Windows计算机上的文件复制

问题描述:

我有在2015年TFS安全需要TFS Windows计算机上的文件复制

一些麻烦与Windows机器上的文件拷贝,我们正在使用的机器的文件复制到我们的文物转移到Web服务器,然后运行IIS部署。这在我的凭据下运行时可以正常工作。但是,当我尝试使用本地计算机上的管理员运行它时,出现以下错误。


2017-08-03T09:26:52.4173924Z ROBOCOPY ::强大的文件复制 为Windows
2017-08-03T09:26:52.4173924Z --------- -------------------------------------------------- -------------------- 2017-08-03T09:26:53.6518030Z发布:2017年8月03日10:26:52
2017-08-03T09:26: 53.6518030Z 2017/08/03 10:26:53错误5(0x00000005) 获取文件系统目标\服务器\ C $ \部署的类型 文件夹\发布\ 2017-08-03T09:26:53.6518030Z访问被拒绝。
2017-08-03T09:26:53.6518030Z来源: C:\代理\ agent_work \ 03f953eca \发布CI 测试\ drop_PublishedWebsites \ Site_Package \
2017-08-03T09:26:53.6518030Z目的地 - \服务器\ C $ \部署 文件夹\发布\ 2017-08-03T09:26:53.6518030Z文件:
2017-08-03T09:26:53.6518030Z 2017-08-03T09:26:53.6674336Z
选项:/S/E/DCOPY:DA/COPY:DAT/B/R:1000000/W:30
2017-08-03T09:26:53.6674336Z -------------- -------------------------------------------------- -------------- 2017-08-03T09:26:53.9643156Z 2017/08/03 10:26:53错误5(0x00000005) 创建目标Directory \ Server \ C $ \ Deployment Folder \ Release \ 2017-08-03T09:26:53.9643156Z访问被拒绝。
2017-08-03T09:26:53.9955634Z \ Server已成功删除。
2017-08-03T09:26:54.0268146Z ## [error]资源复制失败: 服务器2017-08-03T09:26:54.0268146Z ## [错误]复制失败。有关更多详细信息,请参阅 robocopy日志。

我知道要执行一个Windows机器文件复制管理员用户只需要管理员访问目标服务器,他们实际上是否也需要访问生成服务器?

这可能是一个问题,原因是有些服务器住在DMZ内,因此无法访问我们的Active Directory。我没有看到我可以拥有一个管理员访问我们网络中的服务器和DMZ中的服务器的用户。如果是这种情况,我不知道如何使用TFS发布管理将我们的工件部署到这些服务器上。

+1

本质上讲,这是不是一个TFS的问题,它更是一个权限问题,如果代理运行的用户没有对文件夹的权限,它永远不会工作。你是否可以在目标服务器上安装TFS代理? –

+1

如果您手动使用robocopy命令将文件从构建服务器复制到目标机器,结果如何?如果问题与tfs相关,这将缩小范围。 –

+0

嗨,大家好,谢谢你的指点。你是对的,这完全取决于权限。我作为服务帐户登录到生成服务器,无法访问该文件夹。相反,我与所有人共享Web服务器上的文件夹,然后可以访问它。所以Robocopy现在可以工作了。 Web部署现在不能与本地管理员一起工作,所以这是下一个问题;) –

对于Windows机器文件复制任务中的Access is denied错误。就像上面讨论的注释一样,您需要为服务帐户的Web服务器上的共享文件夹提供足够的权限。

至于使用本地管理员帐号部署到DMZ中的服务器。有两个可选:

选项1 - 利用WMF-V5和PowerShell的任务

要WMF送过来一个WinRM的会话文件V5则可以使用复制,项目 cmdlet的。例如,

$session = New-PSSession -ComputerName <computername> 
Copy-Item <yourfile> -Destination 'C:' -ToSession $session 

选项2

不要在DMZ中的机器有行的视线到TFS本地?如果是, 就像Daniel建议的那样最简单,你可以在 服务器上部署代理并使用TFS对其进行配置。您可以使用类似的帐号方法来配置TFS代理。

配置完成后,代理会自动将关联的工件下载到本地计算机。

更多详细信息,请参阅Roopesh Nair的回答这样一个问题:TFS 2015 Update 2 Release Management - Deploying across untrusted domains and to servers in the DMZ

+0

非常感谢,这项任务已经传递给了可能真正了解这类事情的基础设施人员,我将回到编码现在我想;)再次感谢。 –