1

このアプローチが機能しない結果として、私はリモートマシンで完全なルート情報を取得する非常に複雑な方法を試しています。リモートのPowerShellランスペースに接続し、route.exeコマンドラインツールをそのように実行して情報を返そうとしています。

基本的に、コマンドを実行しようとしていることを除いて、ここにあるソリューションを適用しています。「get-process」ではなく「Invoke-Expression」「c:\ WINDOWS \ system32\route.exeprint」

「get-process」を使用すると機能します。Invoke-Expressionを試してみると、このコマンドレットが見つからないという例外が発生します。マシン上でまったく同じコマンドをローカルで実行すると、それが機能し、ルーティング情報が表示されます。だから私はそれが構文の問題やパスのタイプミスではないことを知っています。なぜこれが起こっているのか誰かが知っていますか?

ありがとう。

4

2 に答える 2

1

さて、これを投稿するとすぐに、素晴らしいが明白なアイデアが浮かびました。技術的には、「Invoke-Expression」は「コマンド」であり、「c:\ WINDOWS \ system32\route.exeprint」はコマンドの引数です。したがって、上記でリンクしたコードにこれを追加する必要があります。

powershell.AddCommand(scriptText); 
powershell.AddArgument(args);

ここで、scriptTextは「Invoke-Expression」であり、argsは「c:\ WINDOWS \ system32\route.exeprint」です。

これが誰かに役立つことを願っています!

于 2011-08-02T15:52:49.083 に答える
0

ワンポイント:あなたはすべて\正しく逃げましたか?
別のポイント:Invoke-Expressionの代わりにInvoke-Commandを試してください

于 2011-07-29T23:18:29.257 に答える