Quantcast
Channel: SharePoint Diary
Viewing all articles
Browse latest Browse all 1058

Get All Files of Particular Type

$
0
0
In a Branding revamp project, After updating new logo on the SharePoint CSS Files, Found there are lot of InfoPath forms out there with old logo. So had to figure out all deployed InfoPath XSN Templates!

PowerShell Script to Find all XSN Files:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
#For SharePoint 2007
function global:Get-SPSite($url){
    return new-Object Microsoft.SharePoint.SPSite($url)
}

#Function to Scan XSN Files
Function GetXSNFiles($Folder)
{
    foreach ($File in $Folder.Files | Where-Object {$_.Name -match ".xsn"} )
    {
     #Write data to CSV File
     "$($Folder.ParentWeb.Site.RootWeb.Title)" +"`t"+ "$($Folder.ParentWeb.Title)" +"`t" + "$($Folder.ParentWeb.URL+"/")$($File.URL)" +"`t" + "$($File.TimeLastModified)" >> XSNTemplates.csv
    }

    #Iterate through all subfolders
    foreach ($SubFolder in $Folder.SubFolders)
    {
        #Call the function recursively
        GetXSNFiles $SubFolder
    }
}
 
#Write the CSV header
"Site Collection `t Site `t Form Template `t Last Modified" > XSNTemplates.csv

#Get the web application
#Write-Host "Enter the Web Application URL:"
$WebAppURL= "http://sharepoint.crescent.com"   #$WebAppURL= Read-Host
$SiteColletion = Get-SPSite($WebAppURL)
$WebApp = $SiteColletion.WebApplication
 
#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 "scanning site" $web.title "@" $web.URL
              
              #Call the function to Get XSN Files
              GetXSNFiles($Web.RootFolder)
              
         #Dispose web object
         $web.dispose()
        }
 
        #Dispose site object
        $site.Dispose()
    }
Write-host  "Report Generated: XSNTemplates.csv" -foregroundcolor green

Script will search each and every list and library for specific file type and log that information to a Tab Separated text file.

Viewing all articles
Browse latest Browse all 1058

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>