今天在SharePoint 2013中发现了一个奇怪的现象,在一个列表"List Test"中运行着一个名字叫"Workflow Test"的工作流,我查了一下,在列表中,所有的item的工作流的状态只有两种,一个是空的,说明这个item上没有运行这个工作流,另一个是completed状态,并没有in progress的,但是在list的workflow settings里,却显示有8个in progress的工作流,于是我写了一个powershell的脚本来找出所有in progress 状态的item,看一下到底是哪儿显示错了。
脚本很简单,我的site的url是“http://server2013”, list名字是“List Test”, workflow的列名是“Workflow Test”:
$web = Get-SPWeb http://server2013
$list = $web.Lists["List Name"]
foreach($item in $list.Items)
{
if($item["Workflow Name"] -eq 2)
{
Write-Host $item.Title
}
}
在使用时,请把红色的部分替换为正确的名字。其中判断条件
if($item["Workflow Name"] -eq 2)
中的2表示 in progress。其他的状态值可以参考: 工作流状态值
在SharePoint2013的ListTest列表中,发现工作流状态显示不一致的问题。列表项显示只有空或已完成状态,但设置中却有进行中的工作流。通过PowerShell脚本排查具体原因。
326

被折叠的 条评论
为什么被折叠?



