2

我想从 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
4

2 回答 2

3

您可以使用自定义工作流程操作,例如

http://ilovesharepoint.codeplex.com/wikipage?title=Execute%20PowerShell%20Script%20Action

于 2013-08-05T08:06:16.967 回答
1

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

创建任务队列。队列只是 SharePoint 列表。根据它负责的工作命名每个(例如“Purge Logs Queue”)。将列添加到队列以表示适当的任务参数。添加状态列。

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

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

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

使用某种 机制安排这些脚本在某个时间间隔进行轮询。

虽然您仍在使用 SharePoint 设计器工作流来启动工作,但将工作交给 PowerShell 可以更轻松地自动化中等复杂的任务。

于 2015-02-20T20:19:07.443 回答