- I didn't find any properties in the workflow object.
- There is a free workflow scanner from Microsoft that will produce a report detailing which workflows are 2010 and which are 2013
- I tried creating test SPD workflows of both types - So far, only the 2010 type workflow creates a folder in the \Workflows\ folder. The 2013 workflow did not.
Need to know the property to find if the Workflow Template is 2010 or 2013
We are trying to find SharePoint 2010 Workflows running in an OnPrem 2013 environment, I'm writing a PowerShell Script to iterate all the lists associated workflows on the farm, I need to know the property of $WorkflowObject which I can utilize to differentiate if associated workflow is SP Designer 2010 or 2013.
Below my Script which I am currently running:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
$outputFile = "C:\WorkflowReport.txt";
$farm = [Microsoft.SharePoint.Administration.SPFarm]::local
$websvcs = $farm.Services | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebService]}
$webapps = @()
$outputHeader = "Url;List;Workflow;Running Instances" > $outputFile
foreach ($websvc in $websvcs) {
foreach ($webapp in $websvc.WebApplications) {
foreach ($site in $webapp.Sites) {
foreach ($web in $site.AllWebs) {
foreach ($List in $web.Lists) {
foreach ($workflow in $List.WorkflowAssociations) {
if ($workflow.BaseTemplate -eq 'null' -and $workflow.Contains("Xoml"))
{
#SPD workflow
Write-Host $output = $web.Url + ";" + $List.Title + ";" + $workflow.Name + ";" + $workflow.RunningInstances
Write-Output $output >> $outputFile
}
else
{
#OOB Workflow
}
}}
}
}
}
}
$Web.Dispose();
$site.Dispose();
1 answer
Sort by: Most helpful
-
George Winters (Admin) 1 Reputation point
2020-08-03T15:41:48.213+00:00