This blog post contains a simple PowerShell script that you can use to find all SharePoint files from a certain file type. It creates a CSV file with the results, so you can easily consume or manipulate that information.
Some time ago I published a blog post with a script to update all instances of a given taxonomy term. The script uses search to find all the relevant items to update based on a search query. At the end, it generates a CSV file with all the items processed.
This script reuses parts of the other script to execute a search query and export results to a CSV file. The search query is using the FileType property to filter results that match the file type specified.
Update: I have published a new blog post with a different approach that queries the libraries on a site. This script takes longer to run, but works with the file types that are not indexed by SharePoint search.
# Variables $siteUrl = "https://XXXXXXX.sharepoint.com/sites/XXXXXX" $FileType = "doc*" $Query = "* FileType=""$FileType""" $LogFile = "C:\users\$env:USERNAME\Desktop\File Type - $FileType.csv" # --------------------------------- Connect-PnPOnline -Url $siteUrl -UseWebLogin $SearchResults = Submit-PnPSearchQuery -Query $query -All -TrimDuplicates $false -SelectProperties ListItemID, Filename $results = @() foreach ($ResultRow in $SearchResults.ResultRows) { $itemId = $ResultRow["ListItemID"] $filename = $ResultRow["Filename"] $path = $ResultRow["Path"] $parentLink = $ResultRow["ParentLink"] Write-Host "Path: $path" Write-Host "-------------" -ForegroundColor Yellow #Creating object to export in .csv file $results += [pscustomobject][ordered] @{ ItemId = $itemId Filename = $filename ParentLink = $parentLink Path = $path } } $results | Export-Csv -Path $LogFile -NoTypeInformation