我想从SharePoint 2010工作流调用可执行文件(或Powershell脚本)。我有什么选择?它甚至可能吗?我在网上做了一些搜索,但没有什么好处。我得到了如何从powershell脚本或可执行文件执行工作流程,但这不是我想要的。
想法是批准者批准文档(doc,docx,xls或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
答案 0 :(得分:3)
您可以使用自定义工作流操作,例如
http://ilovesharepoint.codeplex.com/wikipage?title=Execute%20PowerShell%20Script%20Action
答案 1 :(得分:1)
这可以在没有第三方软件/插件的情况下完成。
创建任务队列。队列只是SharePoint列表。根据其负责的工作为每个人命名(例如"清除日志队列")。将列添加到队列以表示适当的任务参数。添加状态列。
在Designer中创建一个负责填充队列的工作流程。
对于每个队列,创建一个PowerShell脚本来处理它并管理状态。这类似于2013 SharePoint工作流程对阶段的处理。唯一的区别是如果一个阶段未能完成,我们的脚本可以在下一次恢复。
考虑队列中的单个项目可能无法处理的事实。调整脚本以继续处理任何过程中的队列(如果合理),以避免让一个项目阻止所有进程。
使用some mechanism安排这些脚本按时间间隔轮询。
当您仍在使用SharePoint设计器工作流来启动时,将工作交给PowerShell可以使自动化中等复杂的任务变得更容易。