我有多个PowerShell脚本文件需要在顺序流中执行(一个接一个)。有人可以帮我如何安排使用SSIS包执行多个PowerShell文件。我需要构建一个容错模型,我需要在发生故障时重新执行powershell脚本。
答案 0 :(得分:0)
没有内置的Execute PowerShell任务(遗憾)所以你需要使用Execute Process Task
和powershell.exe的路径
您需要考虑的一点是,PowerShell的默认执行策略是Restricted,它无法运行脚本。进一步复杂化的问题是运行SSIS包的帐户还需要修改其执行策略才能启动这些脚本。这是一个简单的问题Set-ExecutionPolicy RemoteSigned
或您认为合适的任何级别,但您需要在帐户内执行此操作。
简单的方法是忽略Execute Process Task
中的返回码。或者,如果希望继续运行PS1直到它没有失败,那么你将在For Loop Container
周围包裹Execute Process Task
并且只在任务返回成功值时设置终端条件。根据失败的原因,事情可能仍然会横向发展。