的Robocopy命令将文件复制到超过50个远程机(Robocopy commands to cop

2019-10-21 05:58发布

我昨天开始寻找ROBOCOPY尝试从一个目的地复制和覆盖文件很多远程计算机。 我试过的Robocopy将文件复制到远程计算机 ,但它不工作。 我得到同样的错误的人的链接。 没有任何人有任何建议或导致我在正确的道路? 非常感谢 !

Answer 1:

你可以只使用PowerShell这一点。 它有一个效率低下的问题,其中,将复制一个在同一时间但不应该是一个问题的50ish机。 这可以帮助,如果你做了一个PowerShell脚本

$computers = Get-Content "C:\filewithcomputers.txt"
$fileToCopy = "C:\filetocopy.txt"
ForEach($computer in $Computers){
    Copy-Item -Path $fileToCopy -Destination "\\$computer\C`$\Temp"
}

在将文件复制$fileToCopy在文件中的每个服务器C:\filewithcomputers.txt假设该文件包含计算机的每一个在其自己的行列表。 该文件将被复制到每个机器上的临时文件夹。 根据需要更新您的方案的路径。 我只建议这一点,因为你标记PowerShell的远程处理 。 如果你不擅长使用PowerShell也许别人可以给你的,你在找什么更好的答案了。 使用ROBOCOPY一个文件似乎有些乏味。

如果你想检查是否一个文件夹存在并可访问,你可以做这样的事情。

$computers = Get-Content "C:\filewithcomputers.txt"
$fileToCopy = "C:\filetocopy.txt"
ForEach($computer in $Computers){
    $destinationx86 = "\\$computer\C`$\Program Files (x86)"
    $destination = "\\$computer\C`$\Program Files"
    If(Test-Path $destinationx86){
        # Copy this to Program Files (x86)
        Copy-Item -Path $fileToCopy -Destination $destinationx86     
    } Else {
        # Copy this to Program Files
        Copy-Item -Path $fileToCopy -Destination $destination
    }

}


Answer 2:

如果你需要用不同的凭据连接,您可以使用

$credential = Get-Credential    
New-PSDrive -Name "Computer01" -PSProvider FileSystem -Root "\\Computer01\Share" -Credential $credential -Scope global

现在,您可以复制到如COMPUTER01:\ FOLDER01 \



Answer 3:

如果你已经设置你的环境来支持PSRemoting,并放置在文件中的文件共享,您可以使用PowerShell远程指示多台计算机与调用命令几乎同时检索文件本身。 您可以使用限制取决于-ThrottleLimit对源文件的大小,以及如何强大的网络/服务器是同步动作的次数:

$computers = Get-Content "C:\filewithcomputers.txt"
$originalsource = "\\fileserver\shared\payload.exe"
$originaldestination = "c:\"
$scriptblockcontent = {
    param($source,$destination)
    Copy-Item -Path $source -Destination $destination
    }
Invoke-Command –ComputerName $Computers –ScriptBlock $scriptblockcontent `
   –ThrottleLimit 50 -ArgumentList $originalsource,$originaldestination


文章来源: Robocopy commands to copy a file to over 50 remote machines