我有以下函数来运行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();
}
答案 0 :(得分:0)
所以我使用@"Get-Help C:\Path\To\Stuff"
导致空白回复。
将其更改为"Get-Help C:\\Path\\To\\Stuff"
解决了此问题。