无法调用此函数,因为当前主机没有实现它c#

时间:2012-07-06 18:14:11

标签: c# powershell

我知道这是在这个板上,但我是新的,没有什么真的让我失望,所以我希望有人可以提供一些见解。我收到以下错误:

无法调用此函数,因为当前主机未实现它

这是我的代码

    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();

    }

我传递的变量是我的脚本名称,它没有问题。

1 个答案:

答案 0 :(得分:5)

您可能正在使用某些特定于主机的函数,这意味着托管PowerShell引擎的任何进程(例如powershell.exe,powershell_ise.exe,您的c#app)都必须为它们提供实现。

通常,这些将包括* -host函数(写主机,外主机,读主机),转录函数(起始转录,停止转录)和其他一些。