Shantha Kumar T
Export all apps from all sitesollection app catalogs from SharePoint
In the fast-paced world of data management and automation, the ability to export data efficiently is a skill highly required by professionals across various fields. Fortunately, PowerShell scripts offer a powerful solution to streamline this process, allowing users to extract and manipulate data with ease.
Here’s a simple PowerShell script that assists in exporting the list of all the apps added to the Site Collection App Catalogs across the entire Tenant by utilising PnP PowerShell.
PnP PowerShell version used:2.4.63-nightly
$siteurl = "https://<tenant>-admin.sharepoint.com" Connect-PnPOnline $siteurl -Interactive Write-Host "Script exceution started" $sites = Get-PnPSiteCollectionAppCatalog if ($site.length -gt 0) { $results = @() foreach ($site in $sites) { Write-Host "**** " $site.AbsoluteUrl "*****" # Estalibing connection to the Site Collection $connection = Connect-PnPOnline $site.AbsoluteUrl -Interactive try { # Fetches all the apps added in the Site Collection App Catalog $apps = Get-PnPApp -Scope Site -Connection $connection Write-Host $apps.length " apps found." if ($apps.length -gt 0) { foreach ($app in $apps) { $results += [pscustomobject][ordered]@{ Site = $site.AbsoluteUrl ID = $app.Id Title = $app.Title Deployed = $app.Deployed AppCatalogVersion = $app.AppCatalogVersion InstalledVersion = $app.InstalledVersion Status = $app.status Remarks = "" } } } else { $results += [pscustomobject][ordered]@{ Site = $site.AbsoluteUrl ID = "" Title = "" Deployed = "" AppCatalogVersion = "" InstalledVersion = "" Status = "" Remarks = "No items available" } } } catch { Write-Warning $_.Exception.Message $results += [pscustomobject][ordered]@{ Site = $site.AbsoluteUrl ID = "" Title = "" Deployed = "" AppCatalogVersion = "" InstalledVersion = "" Status = "" Remarks = $_.Exception.Message } } } $results | Export-Csv -Path "allsitecollectionapps.csv" -NoTypeInformation } Write-Host "Script execution completed."
The above script executes and iterates all the Site Collections which has App Catalogs along with Apps added. Then it exports in to the csv file in current running path.
Note: The user who runs the script, should have access to all the Site Collections. Other wise it returns an error says “Attempted to perform an unauthorized operation.”