将文件从网络共享远程复制到另一台远程计算机上的本地驱动器路径

时间:2019-10-18 12:51:07

标签: powershell copy-item

我正在尝试将文件从网络共享驱动器复制到远程计算机上的本地驱动器路径。问题是整个活动都发生在另一台远程计算机上。

服务器1(构建服务器)-具有协调器脚本,该脚本试图将文件从服务器2的网络驱动器复制到服务器2的本地路径。

尝试以下-

Copy-Item "Z:\sub-folder1\sub-folder2\sub-folder3\*" -Destination "\C:\sub-folder3\sub-folder2\sub-folder3" -Recurse -Force

如果我直接在服务器2中运行它,并因错误而失败,则无法正常运行,因为找不到路径'Z:\ sub-folder1 \ sub-folder2 \ sub-folder3 \,因为它不存在,如果从服务器1运行

因此尝试使用共享驱动器添加服务器名称

Copy-Item "\\$servername\Z:\sub-folder1\sub-folder2\sub-folder3\" -Destination "\C:\sub-folder1\sub-folder2\sub-folder3\" -Recurse -Force

这不会返回任何错误,但是不会复制任何文件。

我的命令有问题吗?或者不是远程处理网络驱动器的方法。

净使用量返回以下

enter image description here

驱动器属性 enter image description here

1 个答案:

答案 0 :(得分:1)

正如@matthew在评论中所述,我建议使用robocopy在两个远程计算机之间进行复制。

robocopy \\servername1\z$\sub-folder1\sub-folder2\sub-folder3\ \\servername2\c$\sub-folder1\sub-folder2\sub-folder3\"

如@scepticalist和@Theo所指出的那样,如果由于某些原因您无法进行自动复制,则执行\\servername1\Z:将不起作用。通常,您将在路径中使用Z$,尽管这可能取决于您的设置。假设您是以这种方式设置的,则可以将PowerShell命令更改为

Copy-Item "\\servername1\Z$\sub-folder1\sub-folder2\sub-folder3\" -Destination "\\Servername2\c$\sub-folder3\sub-folder2\sub-folder3" -Recurse -Force

正如@Lee_Daily指出的那样,您仍然可能会遇到“双跳”问题,在这种情况下,执行复制时将需要使用Cred SSP身份验证。