c# - 将 C# Powershell 保存为脚本文件

标签 c# file powershell

我目前使用 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/

相关文章:

c - 是否可以从 FILE* 中拯救文件描述符?

android - 你如何覆盖而不是附加到 Android 中的文本文件?

powershell - 在 Powershell 中应该使用什么异常类型来捕获由于无效字符引起的 XML 解析错误?

java - java for windows 中的文件图标覆盖

windows - 如何在 powershell 中获取/设置屏幕上的当前窗口位置?

python - virtualenv 没有激活虚拟环境

c# - 如何实现 IdentityRole (dbo.AspNetRoles) 和自定义实体之间的关系?

c# - 无法解析属性 : PropertyName of: Class error in NHibernate

c# - Polly Framework VS Microsoft 瞬时故障处理

c# - 是否有任何类型的通用字典试图获取不存在的键将返回 null?