【发布时间】:2014-05-02 06:34:26
【问题描述】:
我有以下代码,我从我的 C#.net 服务调用这导致两次调用 powershell 脚本。
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
runspace.SessionStateProxy.SetVariable("scriptpath", scriptPath);
runspace.SessionStateProxy.SetVariable("DBRecordKey", reportId.Key);
runspace.SessionStateProxy.SetVariable("SymbolPath", symbolPath);
Logger.Log("DBRecordKey = " + reportId.Key, writer);
using (Pipeline pipeline = runspace.CreatePipeline(scriptText))
{
//Here's how you add a new script with arguments
pipeline.Commands.AddScript(scriptText);
// Execute PowerShell script
Collection<PSObject> results = pipeline.Invoke();
StringBuilder outputString = new StringBuilder();
foreach (PSObject obj in results)
{
outputString.AppendLine(obj.ToString());
}
Logger.Log("outputString 2 - " + outputString, writer);
pipeline.Stop();
runspace.Close();
}
}
我的代码有什么问题吗?
【问题讨论】:
标签: c# windows powershell service runspace