我有一个问题,就是无法从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();
}
问题在于有些电脑可以正常运行,但有些电脑会出现消息“the term 'msg' is not recognized as a cmdlet, function,etc." 。这种情况发生在c:\windows\system32中的每个可执行文件上。当我使用像“Get-Process”这样的cmdlet时,它可以正常工作...
我现在正在测试两台计算机,它们都将ExecutionPolicy设置为不受限制,并且它们具有相同的Powershell版本。环境变量中的“路径”也是相同的。