如何发出远程复制命令?

How do I issue a remote copy command?

我现在正在处理的脚本在电子邮件服务器上执行大量工作以处理诉讼保留请求。该脚本的组成部分之一是将文件服务器上已识别文件夹中的所有数据复制到恰好驻留在同一台远程服务器上的无法更改的安全备份位置。我的脚本工作正常,但它将网络上的所有文件从文件服务器复制到 PowerShell 脚本为 运行 的电子邮件服务器,然后将其直接推回到它来自的同一文件服务器 "hold"文件夹。这造成了严重的延迟,因为其中一些文件夹包含数千个文件,每个文件从几字节到几兆不等。

我正在为电子邮件服务器上的 PowerShell 脚本 运行ning 寻找一种方法,以便向文件服务器发出远程命令以将文件夹从一个目录复制到另一个目录(都在同一个远程服务器)。有什么建议吗?

目前,我在我的脚本中使用 robocopy 命令,但我对其他执行此操作的方式持开放态度。

robocopy "Source Folder" "Destination Folder" /e

我正在寻找类似的东西:

PSEXEC \\FileServer -s -d Copy "Source folder" to "Destination folder"

我似乎无法在旧的 google 火车上找到满足这种情况的任何 material。

psexec \fileserver -s robocopy "source" "destination" /e

应该可以正常工作。在文件服务器上启用 PSRemoting 后,您还可以执行

Invoke-Command -Computer fileserver -Scriptblock {
  & robocopy "source" "destination" /e
}

请注意,这假定了远程服务器上的本地路径。如果您在远程主机上使用网络共享,您将 运行 进入 second hop problem.

由于某些奇怪的原因,在发布之前第一次尝试使用 PSEXEC 导致了一个错误,表明它不知道如何处理该命令。但我再次插入 PSEXEC 命令,今天它运行良好。

谢谢。