如何获取脚本的参数?

时间:2015-12-09 18:41:17

标签: c# powershell

我有以下函数来运行PowerShell脚本。我试图通过调用Get-Help <scriptPath>来获取有关脚本所需参数的信息。

在PowerShell应用程序中,我看到test2.ps1 [[-Name] <String>] [[-Age] <Int32>] [[-Path] <String>],这是完美的,但我似乎无法在C#中找到这些信息。

运行脚本后,我得到一个PSObject,字符串构建器返回空白。

有人能指出我正确的方向指向我所缺少的东西吗?

private string RunScript(string scriptText)
{
    Runspace runspace = RunspaceFactory.CreateRunspace();

    runspace.Open();

    Pipeline pipeline = runspace.CreatePipeline();
    pipeline.Commands.AddScript(scriptText);

    pipeline.Commands.Add("Out-String");

    Collection<PSObject> results = pipeline.Invoke();

    runspace.Close();

    StringBuilder stringBuilder = new StringBuilder();
    foreach (PSObject obj in results)
    {
        stringBuilder.AppendLine(obj.ToString());
    }

    return stringBuilder.ToString();
}

1 个答案:

答案 0 :(得分:0)

所以我使用@"Get-Help C:\Path\To\Stuff"导致空白回复。

将其更改为"Get-Help C:\\Path\\To\\Stuff"解决了此问题。