如何使用powershell/c#在SharePoint中列出所有2013年的工作流
本文关键字:2013年 工作流 powershell 何使用 SharePoint | 更新日期: 2023-09-27 18:12:13
嗨,有没有办法检索所有2013年的工作流程到SharePoint网站?我们有这个问题关于我们的服务器,其中工作流管理器2013使用我们所有的服务器资源,导致100%的CPU使用率,我们需要知道什么是由我们的用户创建的工作流导致这一点。
到目前为止,我有以下代码来检索所有wf2010到我们下面的站点:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ea 0
$site=Get-SPSite("mysite dot com");
#Initialize Workflow Count variable
$workflowcount = 0
#Foreach loop to loop through all webs, and lists with workflow associations, and exclude workflows that have previous versions and write findings to .csv file.
function Get-Workflows()
{
foreach($web in $site.AllWebs)
{
foreach($list in $web.Lists)
{
foreach($wf in $list.WorkflowAssociations)
{
if ($wf.Name -notlike "*Previous Version*")
{
$hash = @{"[URL]"=$web.Url;"[List Name]"=$list.Title;"[Workflow]"=$wf.Name}
New-Object PSObject -Property $hash | Sort-Object
}
}
}
}
}
foreach($web in $site.AllWebs)
{
foreach($list in $web.Lists)
{
foreach($wf in $list.WorkflowAssociations)
{
if ($wf.Name -notlike "*Previous Version*")
{
$workflowcount += 1
}
}
}
}
Get-Workflows | Export-csv C:'Users'Documents'rey.csv
"Workflow Count " + $workflowcount >> C:'Users'Documents'rey.csv
$site.Dispose()
任何帮助都是感激的。
谢谢!
您可以尝试在一个站点中获取所有2013年的工作流。
$web = Get-SPWeb -identity $url
$wfm = New-object Microsoft.SharePoint.WorkflowServices.WorkflowServicesManager($web)
$defSevice = $wfm.GetWorkflowDeploymentService()
$wfDefs = $defSevice.EnumerateDefinitions($false)
foreach ($wfDef in $wfDefs){
$wfDef.properties
}
wfDef美元。属性将列出与工作流相关的所有属性。