在多个远程服务器(Windows)之间传输文件的最佳方式

问题描述 投票:0回答:2

目前,我决定使用Powershell脚本创建会话,然后将文件复制到远程计算机(Windows服务器)。如果有更好的方法可以解决这个问题,请允许我选择更好的方法,因为我必须转移到多台服务器(可能是100台)。请提出其他编程语言是否存在更好的方法(可能是java,python等)

$Session = New-PSSession -ComputerName "Server01" -Credential "username\password"
Copy-Item $source_path -Destination $destination_path -ToSession $Session
$session | Remove-Session

Copy-Item-Microsoft-Docs中引用的上面的代码。

python-3.x performance powershell windows-server-2012
2个回答
0
投票

当然,您可以使用PowerShell进行操作,甚至可以在Powershell脚本中使用robocopy。 MS powershellgallery.com和gallery.technet.com上有脚本(此Technet网站已经退休,很快就会脱机-赶紧获取所需信息。)供您下载和使用,或根据需要进行调整。

因此,您不必重新发明轮子,除非您知道它确实是更好的轮子,或者这是一个学习用例。首先利用可用的资源,如果不符合需求,请先进行调整,然后再从头开始。

Script PowerShell Robocopy GUI Tool - PowerCopy

下载:PowerCopy.ps1

Script Robocopy and PowerShell - gallery.technet.microsoft.com

下载:Robocopy&PowerShell.ps1

Script Robocopy launching multiple concurrent sessions

下载:robocopy.zip

Script PowerShell - Robocopy launching multiple concurrent

下载:SyncRobocopy.zip


0
投票

如果您当前的登录名可以访问所有服务器,则可以使用UNC路径。

$serverList = Get-Content D:\listOfServer.txt
$sourcePath = "D:\source\myFile.exe"

foreach($server in $serverList) { 
  $destinationPath = "\\$server\D$\desination\folder\"
  Copy-Item $sourcePath $destinationPath
}

忽略显示为字符串一部分的最后一行,StackOverflow降价不喜欢\

© www.soinside.com 2019 - 2024. All rights reserved.