3

我知道这是在这个板上,但我是新手,没有什么能真正阻碍我,所以我希望有人能提供一些见解。我收到以下错误:

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

这是我的代码

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

    }

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

4

1 回答 1

5

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

通常,这些将包括 *-host 函数(write-host、out-host、read-host)、transcript 函数(start-transcript、stop-transcript)和其他一些函数。

于 2012-07-06T18:28:14.340 回答