目前,我决定使用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中引用的上面的代码。
当然,您可以使用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
如果您当前的登录名可以访问所有服务器,则可以使用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降价不喜欢\