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 に答える