Powershell中的递归工作流程

时间:2017-11-06 14:12:30

标签: powershell recursion workflow

我正在尝试自动化一个冗长的过程,可以分解为几个步骤。 (说步骤1-5)

我编写了一个脚本,将这些脚本分成函数并按顺序调用它们。

但是,我们现在还需要使脚本可以重新启动。也就是说,如果在任何一个步骤中失败,重新运行脚本将导致它跳过所有已完成的步骤并从失败的步骤重试。

这是否可以在不引用外部日志文件的情况下完成?

我尝试过使用工作流程,但似乎不支持递归。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

除了使用日志文件之外的一些选项。

  • 使用注册表

您可以根据停止的步骤将注册表值设置为数字,这样就无需使用日志文件,但在“外部”方面有些类似。存储

  • 检查每次运行的任务状态

取决于您可以使用脚本'测试'的任务,例如,步骤3以查看它是否已经完成,然后检查步骤4,5等,直到它遇到它需要的一个从那里开始运行,这可能是不可能的,或者需要大量的开销代码,但收益不大。

  • 允许用户从脚本中继续。

这可能是最好的方法(除了使用日志文件),在块中运行脚本,遇到错误时,可以提示用户在按下'输入&之前解决问题#39;要重新运行上一个脚本块,这样可以很容易地提供有关失败的信息。

这里的主要内容是,一旦脚本退出,为了了解其最后一次运行中发生了什么,它需要外部信息源,或者以另一种方式处理它