我知道这是在这个板上,但我是新的,没有什么真的让我失望,所以我希望有人可以提供一些见解。我收到以下错误:
无法调用此函数,因为当前主机未实现它
这是我的代码
public static void runPowershellScript(string scriptName)
{
RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();
RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
scriptInvoker.Invoke("Set-ExecutionPolicy Unrestricted");
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(scriptName);
pipeline.Invoke();
}
我传递的变量是我的脚本名称,它没有问题。
答案 0 :(得分:5)
您可能正在使用某些特定于主机的函数,这意味着托管PowerShell引擎的任何进程(例如powershell.exe,powershell_ise.exe,您的c#app)都必须为它们提供实现。
通常,这些将包括* -host函数(写主机,外主机,读主机),转录函数(起始转录,停止转录)和其他一些。