2

我知道 Sharepoint 计时器作业 (OWSTIMER) 已将工作流执行排队 -我只想看看这个队列!我想看看这个不祥队列中的下一个工作流程。

有什么方法可以通过 PowerShell / 控制台应用程序 / 管理中心检查工作流队列吗?

4

1 回答 1

2

SPTimerJobAdmin 项目http://sptimerjobadmin.codeplex.com/看起来可以满足您的要求,尽管它似乎专门针对 2007 年的产品,所以我不能说它在 2010 年会做什么,但也许可以为您指明正确的方向,2010 年的更新应该不会太难,这是一个相当小的项目。

就使用 C# 或 PowerShell 查询计时器作业而言,您可能可以在SPFarm类中找到所需的内容(您需要添加对 Microsoft.SharePoint.Administration 命名空间的引用或完全限定类名)。您可以很容易地迭代作业:

var farm = Microsoft.SharePoint.Administration.SPFarm.Local;
foreach (var job in farm.TimerService.JobDefinitions)
{
  // check what you want from each job
  // Typical Properties: Schedule, Title, LastRunTime, TypeName, Status
}

在 PowerShell 中也是类似的:

# Load the SharePoint assembly if necessary
PS C:\> [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
PS C:\> $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
PS C:\> $farm.TimerService.JobDefinitions | select Title,LastRunTime,Status
于 2011-03-22T15:32:29.760 回答