0

we are currently maintaining all InfoPath forms and SSRS reports which use a Web API, manually in a SharePoint list, but sometimes we forget some.

My question is: can I create an overview of all my InfoPath forms and SSRS Reports which use a Web-API ? Or is it possible to create a general overview of all InfoPath forms?

0

Using the below PowerShell script, we can get all infopath forms from a particular web application and this report will be exported to a csv file.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null 

function global:Get-SPSite($url){ 

    return new-Object Microsoft.SharePoint.SPSite($url) 

} 

#Get the web application 

$WebAppURL= "<Web Application URL>" 

$SiteColletion = Get-SPSite($WebAppURL) 

$WebApp = $SiteColletion.WebApplication 



#Write the CSV header 

"Site Collection `t Site `t List Name `t List Url `t Docs Count `t Last Modified `t WF Count `t Live WF `t Live WF Names `t Form Template" > c:\temp\InfoPathLibs.csv 



#Loop through all site collections of the web app 

    foreach ($site in $WebApp.Sites) 

    { 

       # get the collection of webs 

       foreach($web in $site.AllWebs) 

        { 

            write-host "Scaning Site" $web.title "@" $web.URL 

               foreach($list in $web.lists) 

               { 

                   if( $list.BaseType -eq "DocumentLibrary" -and $list.BaseTemplate -eq "XMLForm") 

       { 

                  $listModDate = $list.LastItemModifiedDate.ToShortDateString() 

                $listTemplate = $list.ServerRelativeDocumentTemplateUrl 

                  $listWorkflowCount = $list.WorkflowAssociations.Count 

                $listLiveWorkflowCount = 0 

                $listLiveWorkflows = "" 



                foreach ($wf in $list.WorkflowAssociations) 

        { 

                    if ($wf.Enabled) 

         { 

                        $listLiveWorkflowCount++ 

                        if ($listLiveWorkflows.Length -gt 0) 

         { 

                            $listLiveWorkflows = "$listLiveWorkflows, $($wf.Name)" 

                        } 

                        else  

         { 

                            $listLiveWorkflows = $wf.Name 

                        } 

                     } 

                 } 

       #Write data to CSV File 

                   $site.RootWeb.Title +"`t" + $web.Title +"`t" + $list.title +"`t" + $Web.Url + "/" + $List.RootFolder.Url  +"`t" + $list.ItemCount +"`t" + $listModDate +"`t"  

+ $listWorkflowCount +"`t" + $listLiveWorkflowCount +"`t" + $listLiveWorkflows +"`t" + $listTemplate >> c:\temp\InfoPathLibs.csv 

             } 

               } 

        } 

    } 



#Dispose of the site object 

$siteColletion.Dispose() 

Write-host  "Report Generated at c:\temp\InfoPathLibs.csv" -foregroundcolor green 

Note:

In the above code $list.BaseTemplate -eq "XMLForm" indicates that this list has been modified in infopath form or type of infopath form.

Reference URL:

Find all lists that have an InfoPath form

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.