0
からPowerShellのスクリプトレットの作品を作ることができませんでした。私は、 "Test1234"アプリケーションプールが停止していることを確認しました。は、私はこれが働いたのPowerShell</p> <pre><code>Stop-WebAppPool "Test1234" </code></pre> <p>から以下のコマンドを発行して、アプリケーションプールを停止しようとしていますC#
しかし、私がtest.ps1ファイルとして作成し、それを私のC#コードから呼び出すと、それはうまくいきませんでした。
C#コード
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"powershell.exe";
startInfo.Arguments = @"& 'c:\test.ps1'";
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
これは、任意のエラーをスローしませんでしたが、働いていませんでした。なぜこれが起こったのか、それをどうやって手に入れるのですか?
なぜコマンドの引数は "& 'C:\ test.ps1'" 確かにそのわずか "C:\ test.ps1" – BugFinder
PowerShellで発生したエラーは、プロセスレベルの例外として返されることはよくありません(スクリプトで「exit」コマンドを明示的に使用しない限り)。あなたのtest.ps1スクリプトはエラー処理が必要で、調査するためにこれらのエラーで何かをする必要があります。この方法でスクリプトを実行するC#では、内部の可視性はありません。 –