Nintex Observer

Powershell scripts for Showing all Scheduled Workflows

Jump to solution

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



0 Kudos
1 Reply
Workflow Hero

Re: Powershell scripts for Showing all Scheduled Workflows

Jump 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 -


Also see

#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


View solution in original post

0 Kudos