В настоящее время я использую 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);
Это было бы большим подспорьем во многих моих работах с автоматизацией, если бы это было возможно простым способом. :)
С уважением