Hi could you please help to create a reports for showing All nintex scheduled workflows using powershell scripts in site collection wise.
data should contain WorkflowName , Siteurl, LastRun,NextRun,RepeatSequence,StatusOfWorkflow
Solved! Go to Solution.
Not trying to be mean, but did you perform a quick search against the community. There are at least 5 posts that has solutions in them. We try to eliminate duplicate post to help users find the answers to questions that already have solutions.
See - https://community.nintex.com/t5/Template-Gallery/PowerShell-Find-All-Workflows-Part-1/ta-p/85686
Also see https://community.nintex.com/t5/How-To-s/Finding-Workflows-with-PowerShell/ta-p/87147
#Adding SharePoint Powershell Snapin Add-PSSnapin Microsoft.SharePoint.PowerShell -EA silentlycontinue # The Line below will suppress error messages, uncomment if you are seeing errors but still receiving results. #$ErrorAction = 'silentlycontinue' # Loading SharePoint and Nintex Objects into the PS session [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") [void][System.Reflection.Assembly]::LoadWithPartialName("Nintex.Workflow") [void][System.Reflection.Assembly]::LoadWithPartialName("Nintex.Workflow.SupportConsole") [void][System.Reflection.Assembly]::LoadWithPartialName("Nintex.Workflow.Administration") [void][System.Reflection.Assembly]::LoadWithPartialName("Nintex.Forms.SharePoint.Administration") # Grab Nintex Config database name $CFGDB = [Nintex.Workflow.Administration.ConfigurationDatabase]::OpenConfigDataBase().Database # Creating instance of .NET SQL client $cmd = New-Object -TypeName System.Data.SqlClient.SqlCommand $cmd.CommandType = [System.Data.CommandType]::Text # Begin SQL Query $cmd.CommandText = "SELECT i.WorkflowName, i.SiteID, i.WebID, i.listid, pw.Author FROM dbo.WorkflowInstance I inner join WorkflowProgress P ON I.InstanceID = P.InstanceID Inner join [$CFGDB].dbo.publishedworkflows pw on i.WorkflowID = pw.WorkflowId GROUP BY GROUPING SETS((i.siteid, i.webid, i.listid, i.workflowname, pw.Author), ());" $indexes = @() # Call to find all Nintex Content Databases in the Nintex Configuration Database, then execute the above query against each. foreach ($database in [Nintex.Workflow.Administration.ConfigurationDatabase]::GetConfigurationDatabase().ContentDatabases) { $reader = $database.ExecuteReader($cmd) # Creating a table while($reader.Read()) { $row = New-Object System.Object if(![string]::IsNullOrEmpty($reader["SiteID"])){ $Site = $(Get-SPSite -identity $reader["SiteID"]) } if(![string]::IsNullOrEmpty($reader["WebID"])){ $SubSite = $Site.Allwebs[[Guid]"$($reader["WebID"])"] } if(![string]::IsNullOrEmpty($reader["ListID"])){ $List = $SubSite.Lists[[Guid]"$($reader["ListID"])"] } #Adding Query results to table object $row | Add-Member -MemberType NoteProperty -Name "Workflow Name" -Value $reader["WorkflowName"] $row | add-member -MemberType NoteProperty -Name "Database" -value $Site.ContentDatabase.Name $row | Add-Member -MemberType NoteProperty -Name "Site Collection" -Value $Site.Url $row | Add-Member -MemberType NoteProperty -Name "Subsite" -Value $SubSite $row | Add-Member -MemberType NoteProperty -Name "List" -Value $List.title $row | Add-Member -MemberType NoteProperty -Name "Author" -Value $reader["Author"] $indexes += $row } } #Print results on screen $indexes | FT -autosize Write-host "Total Workflows in all DataBases:" $indexes.Count