【发布时间】:2013-09-17 10:34:06
【问题描述】:
我有多个 PowerShell 脚本文件,需要按顺序执行(一个接一个)。有人可以帮我安排如何使用 SSIS 包执行多个 PowerShell 文件。并且我需要建立一个容错模型,如果我需要重新执行一个 powershell 脚本以防万一失败。
【问题讨论】:
标签: sql powershell ssis
我有多个 PowerShell 脚本文件,需要按顺序执行(一个接一个)。有人可以帮我安排如何使用 SSIS 包执行多个 PowerShell 文件。并且我需要建立一个容错模型,如果我需要重新执行一个 powershell 脚本以防万一失败。
【问题讨论】:
标签: sql powershell ssis
没有内置的执行 PowerShell 任务(遗憾),因此您需要使用带有 powershell.exe 路径的Execute Process Task
您需要考虑的是,PowerShell 的默认执行策略是受限的,它不能运行脚本。更复杂的是,运行 SSIS 包的帐户还需要修改其执行策略才能触发这些脚本。这是Set-ExecutionPolicy RemoteSigned 或您认为合适的任何级别的简单问题,但您需要在帐户中执行此操作。
简单的方法是忽略Execute Process Task 中的返回码。或者,如果希望继续运行 PS1 直到它不会失败,那么您将在 Execute Process Task 周围包裹一个 For Loop Container 并且仅在任务返回成功值时设置终端条件。根据失败的原因,事情可能仍会横向发展。
【讨论】: