我目前使用 C# 将一些对象传递给 powershell 并在它们上执行一个方法,如下所示:
var objs= new PSDataCollection<CustomObj> {obj};
using (var ps = PowerShell.Create())
{
ps.Runspace.SessionStateProxy.SetVariable("objList", objs);
ps.AddScript(@"$objList| ForEach { $_.Run()}");
ps.AddCommand("Out-String");
var output = ps.Invoke();
var stringBuilder = new StringBuilder();
foreach (var obj in output)
{
stringBuilder.AppendLine(obj.ToString());
}
var result = stringBuilder.ToString().Trim();
//Evaluate result.
}
问题:
是否有一种简单的方法可以将我的 ps 对象保存为脚本文件,而无需执行大量 writeline 操作?我在想一些事情:
ps.SaveAsScript(filename);
如果这可以通过简单的方式实现,这将对我的许多自动化工作有很大帮助。:)
亲切的问候
最佳答案
不,没有。您必须获取命令 (ps.Commands.Commands
) 并根据需要写入文件。
关于c# - 将 C# Powershell 保存为脚本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8046671/