2016-04-12 6 views
0

pscpコマンドでvariableを使用してしばらくの間苦労しています。Powershellは、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" 
} 

出力

Local to local copy not supported 
2.6.32-573.1.1.el6.x86_64 

私は、ファイルの転送ですべての問題をイマイチそこに変数を使用していないホスト名を指定しようとします。 しかし、私は、変数$ Serverを使用しようとすると、私はエラー を「ローカルコピーはサポートされていません」を取得私はそれが変数自体に問題があるかもしれないと思ったけど。\のplinkの作品何の問題もなく

私はカンマを使用しようとしました、エスケープ@、フルパスなど何も動作していないようです。 私はwinscp.dllを使用できません。この特定のケースでは、ホスト鍵を自動的に受け入れる必要があります(これは安全ではありませんが、実際はこの場合のみです)。これはpscpによってのみ提供されます。

ありがとうございます!

+0

キー(['SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey'](https://winscp.net/eng/docs/library_sessionoptions#giveupsecurityandacceptanysshhostkey)を使用してください)、pscpとは正反対ですが、そうではありません。 –

答えて

0

私はこれがかなり古いことを知っていますが、私もこの問題を遭遇しました。それはあなたがそのようなサーバ変数の部分式演算子$()を使用する必要があることが判明:

$($Server) 

だからあなたのコマンドは次のようになります。

WinSCPの.NETアセンブリは、自動ホストの受諾をサポートしてい
.\pscp.exe -pw $password create_ssh [email protected]$($Server):/home/$myUsername/create_ssh 
.\plink.exe -pw $password $myU[email protected]$($Server) -C "uname -r" 
+0

ありがとうございました!!! –

関連する問題