如何从SharePoint 2010 Workflow调用可执行文件或PowerShell脚本?

时间:2013-08-04 21:43:31

标签: powershell sharepoint-2010 executable sharepoint-workflow

我想从SharePoint 2010工作流调用可执行文件(或Powershell脚本)。我有什么选择?它甚至可能吗?我在网上做了一些搜索,但没有什么好处。我得到了如何从powershell脚本或可执行文件执行工作流程,但这不是我想要的。

想法是批准者批准文档(doc,docx,xl​​s或xlsx)时,我希望工作流调用带参数的PowerShell或可执行文件。

当我手动使用可执行文件时,它看起来就像下面的cmdlet。

C:\ConvertDocs> .\convert.exe c:\docs\test.xls c:\pdfs\test.pdf

我有一个PowerShell,其参数使用相同的可执行文件。 PowerShell脚本cmdlet如下所示。

.\call_Convert.ps1 c:\docs\test.xls c:\pdfs\test2.pdf

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

这可以在没有第三方软件/插件的情况下完成。

创建任务队列。队列只是SharePoint列表。根据其负责的工作为每个人命名(例如"清除日志队列")。将列添加到队列以表示适当的任务参数。添加状态列。

在Designer中创建一个负责填充队列的工作流程。

对于每个队列,创建一个PowerShell脚本来处理它并管理状态。这类似于2013 SharePoint工作流程对阶段的处理。唯一的区别是如果一个阶段未能完成,我们的脚本可以在下一次恢复。

考虑队列中的单个项目可能无法处理的事实。调整脚本以继续处理任何过程中的队列(如果合理),以避免让一个项目阻止所有进程。

使用some mechanism安排这些脚本按时间间隔轮询。

当您仍在使用SharePoint设计器工作流来启动时,将工作交给PowerShell可以使自动化中等复杂的任务变得更容易。