実現したいこと
C#.netでPowerShellを実行し、SCPファイル転送を行いたいのですが、
scpコマンドとして認識されません。
前提
C#.netでSystem.Management.Automation.RunspaceInvokeクラスを使い
scpコマンドでwindowsサーバーからLinuxサーバーへファイルを転送したいのですが、
下記のメッセージが出てファイル転送ができません。
発生している問題・エラーメッセージ
エラー:用語 'scp' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
該当のソースコード
<途中省略> using System.Management.Automation; <途中省略> string source = @"scp -i [ssh接続キーのパス] [アップロードするファイルパス] [ユーザーid@アップロード先インスタンス名]"; using (var invoker = new RunspaceInvoke()) { var result = invoker.Invoke(source, new[] {}); foreach (var r in result) { Console.WriteLine(r); } } <途中省略>
試したこと
上記ソース上で実行したいscpコマンドですが、C#プログラムを介さず、
直接powershellで実行すると問題なく、ファイル転送ができました。
scp -i [ssh接続キーのパス] [アップロードするファイルパス] [ユーザーid@アップロード先インスタンス名]
回答に転記しました。

回答1件
あなたの回答
tips
プレビュー