我正在尝试将TFS集合中源文件夹中的所有文件复制到已设置的VM。 VM具有一个共享文件夹,我可以通过键入\\*IPAddress*\share
(其中IPAddress是VM的IP)在文件浏览器中访问。
Source Folder
部分中,我添加了要复制的文件夹。 Contents
部分中,我将其保留为**
,以获取Source Folder
中的每个文件Target Folder
中,我可以浏览的地址放在文件浏览器中:\\*IPAddress*\share
(其中IPAddress是VM的IP)当我排队构建并运行它时,出现以下错误:
Unable to create directory '\\*IPAddress*\share'. Unable to verify the directory exists: '\\*IPAddress*\share'. If directory is a file share, please verify the share name is correct, the share is online, and the current process has permission to access the share.
当我将鼠标悬停在目标文件夹旁边的小“ I”字样时,它指出它可以是UNC路径,因此我知道我能够复制文件,但是我不确定是否引用了正确共享文件夹。
我将如何引用?可能还会引起问题的一件事是,当我从文件资源管理器导航到共享时,我必须输入凭据才能访问共享文件夹,因此也许它没有访问共享的权限。
答案 0 :(得分:1)
Tested and Windows Machine File Copy
任务通过提供访问共享路径的凭据对我有用。
对于Copy Files
任务,您可以尝试授予构建代理服务帐户的读取和写入权限(在部署代理期间指定的权限) ,然后再试一次。
此外,您还可以创建脚本来复制文件,然后添加命令行或PowerShell任务来运行脚本。
例如,您可以使用以下PowerShell脚本复制具有提供的特定用户名和密码的源文件:
$Source = $env:BUILD_SOURCESDIRECTORY
$Dest = "\\172.17.16.115\CopyTest"
$Username = "domain\username"
$Password = ConvertTo-SecureString "PasswordHere" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential($Username, $Password)
New-PSDrive -Name J -PSProvider FileSystem -Root $Dest -Credential $mycreds -Persist
Copy-Item -Path $Source -Recurse -Force -Destination $Dest