使用SSIS包执行多个PowerShell文件

时间:2013-09-17 01:59:57

标签: sql powershell ssis

我有多个PowerShell脚本文件需要在顺序流中执行(一个接一个)。有人可以帮我如何安排使用SSIS包执行多个PowerShell文件。我需要构建一个容错模型,我需要在发生故障时重新执行powershell脚本。

1 个答案:

答案 0 :(得分:0)

运行PowerShell

没有内置的Execute PowerShell任务(遗憾)所以你需要使用Execute Process Task和powershell.exe的路径

您需要考虑的一点是,PowerShell的默认执行策略是Restricted,它无法运行脚本。进一步复杂化的问题是运行SSIS包的帐户还需要修改其执行策略才能启动这些脚本。这是一个简单的问题Set-ExecutionPolicy RemoteSigned或您认为合适的任何级别,但您需要在帐户内执行此操作。

容错

简单的方法是忽略Execute Process Task中的返回码。或者,如果希望继续运行PS1直到它没有失败,那么你将在For Loop Container周围包裹Execute Process Task并且只在任务返回成功值时设置终端条件。根据失败的原因,事情可能仍然会横向发展。