2017-08-14 1 views
2

Im Rahmen der Projektanforderung, ich bin ein Skript Vorbereitung die Dateien vom lokalen Computer auf Remote-Server zu kopieren (mit Benutzername und Passwort)Kopieren von Dateien auf Remote-Computer

ich mit folgenden Möglichkeiten versucht habe, für Dateien 27 KB sind und 50 MB Größe

i. Mit ReadAllBytes und WriteAllBytes dies ist für kleine Datei 27 KB arbeiten, wo, wie für 50 MB zu 100% CPU zu nehmen und zu viel Zeit

$myfile = [System.IO.File]::ReadAllBytes("C:\Temp\test\a.txt") 
$Stat = $null 
$session=$null 
$session = New-PSSession -computerName $server -credential $user 
$Stat = Invoke-Command -Session $session -ArgumentList $myfile -Scriptblock {[System.IO.File]::WriteAllBytes("C:\temp\a.txt", $args)} -ErrorAction Stop 

ii nehmen. Ich habe versucht, mit Copy-Item zu kopieren, aber Problem ist, Zielverzeichnis ist nicht spitze Mount

$Stat = Invoke-Command -ComputerName $server -ScriptBlock { Copy-Item -Path "C:\Temp\test\a.txt" -Destination "C:\temp\a.txt" -Recurse -Force -PassThru -Verbose } -Credential $user 

in beide Richtungen Struck, bitte irgendeine andere Art und Weise vorschlagen, ohne Montage der Zielordner

+0

Betrachten Sie PowerShell eingebaute Dateiübertragung Befehle: 'Copy-Item' oder' Start-BitsTransfer'. Wenn Sie wirklich Geschwindigkeit benötigen oder sich mit viel größeren Dateien befassen müssen, sollten Sie Lösungen von Drittanbietern wie TeraCopy (http://www.codesector.com/teracopy) in Betracht ziehen. obwohl in dem Szenario, das Sie erwähnen, wäre dies nicht erforderlich. – JohnLBevan

Antwort

1
Copy-Item -Path "C:\Temp\test\a.txt" -Dest "\\$($server)\c$\temp\a.txt" 

Verwendung zu erreichen Die integrierten Laufwerksfreigaben, um es zu kopieren, müssen Sie möglicherweise Krediten dafür bereitstellen.

können Sie diese Hilfsfunktion nützlich finden, um den Remote-Pfad korrekt zu erhalten.

Function Get-RemotePath($Server,$Path){ 
    "\\$($Server)\$($Path -replace ':','$')" 
} 

Get-RemotePath -Server "SERVER01" -Path "C:\Temp\File.txt" 

\\SERVER01\C$\Temp\File.txt