Сохранить C # Powershell как файл скрипта - PullRequest
2 голосов
/ 08 ноября 2011

В настоящее время я использую 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);

Это было бы большим подспорьем во многих моих работах с автоматизацией, если бы это было возможно простым способом. :)

С уважением

1 Ответ

3 голосов
/ 08 ноября 2011

нет там нет. Вам нужно будет получить команды (ps.Commands.Commands) и записать в файл при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...