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

C# 无法调用此函数,因为当前主机未实现它#,c#,powershell,C#,Powershell,我知道这是在这个板上,但我是新的,并没有什么真正阻止我,所以我希望有人可以提供一些见解。我得到以下错误: 无法调用此函数,因为当前主机未实现它 这是我的密码 public static void runPowershellScript(string scriptName) { RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace

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

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

这是我的密码

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

    }

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

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


通常,这些功能包括*-主机功能(写入主机、输出主机、读取主机)、转录本功能(启动转录本、停止转录本)和其他一些功能。

您的意思是您试图在其上运行PowerShell脚本的服务器上没有安装PowerShell吗?或者不允许您设置执行策略?现在还不清楚您的问题是什么。无论如何,向shell发送命令并不十分安全。我不知道您的“当前主机”是谁,但如果他们几乎不可能安装您所需的,您将不得不以另一种方式进行安装。这里的主机指的是“托管”powershell引擎的进程,而不是服务器或拥有服务器的公司。