Ich kämpfe für eine Weile mit der Verwendung von Variable mit Pscp Befehl.Powershell gibt lokale Kopie nicht unterstützt bei der Verwendung von Variablen in Pscp
ForEach ($Server in $Servers)
{
.\pscp.exe -pw $password create_ssh [email protected]$Server:/home/$myUsername/create_ssh
.\plink.exe -pw $password [email protected]$Server -C "uname -r"
}
Ausgabe
Local to local copy not supported
2.6.32-573.1.1.el6.x86_64
Wenn ich versuche, den Hostnamen angeben, nicht variabel ist nicht mit es ein Problem mit der Datei zu übertragen. Jedoch Wenn ich versuche Variable $ Server zu verwenden, erhalte ich eine Fehlermeldung „Lokale Kopie nicht unterstützt“ Ich dachte, es Problem mit Variable sein könnte selbst aber. \ Plink funktioniert ohne Probleme
ich versucht habe, Kommas zu verwenden, Escape @, volle Wege etc. nichts scheint zu funktionieren. Ich kann winscp.dll nicht verwenden, da ich in diesem speziellen Fall automatisch Host-Schlüssel akzeptieren muss (was unsicher ist, aber nur für diesen Fall wirklich spezifisch ist) - dies wird nur von pscp zur Verfügung gestellt.
Vielen Dank!
WinSCP .NET Assembly unterstützt automatische Host-Annahme Schlüssel (verwenden Sie ['SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey'] (https://winscp.net/eng/docs/library_sessionoptions#giveupsecurityandacceptanysshhostkey), genau im Gegensatz zu pscp, was nicht der Fall ist. –