C# アプリケーションから powershell コマンドを実行する際に問題が発生しています。この問題に関連する多くのことを見つけましたが、何が起こっているのかを理解するのに役立つものはありませんでした.
だから私はこの小さなテスト関数を持っています:
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript("msg * test");
pipeline.Invoke();
runspace.Close();
}
問題は、一部のコンピューターでは問題なく動作することですが、他のコンピューターでは「'msg' という用語はコマンドレット、関数などとして認識されません」というメッセージが表示されることです。これは、c:\windows\system32 に存在するすべての実行可能ファイルで発生しています。「Get-Process」などのコマンドレットを使用すると、正常に動作します...
現在、2台のコンピューターでテストしています。どちらもExecutionPolicyが無制限に設定されており、Powershellのバージョンは同じです。環境変数の「パス」も同じです。