In this “Retrieve hub site in SharePoint Online” article, we will learn how to retrieve hub sites and associated sites using PnP Powershell and Office 365 admin center URL or SharePoint admin center URL.
PnP PowerShell script to get all sites connected to a hub site: Hub site in SharePoint online (PowerShell Get sites associated with hub)
- Using PnP PowerShell get all associated or connected sites to a particular hub site.
- Get a master report for all sites and their hub sites from the SharePoint online tenant.
CLS $userName = "Global-sharepoint2019@globalsharepoint2019.onmicrosoft.com" $passWord = "YourPassWord" $encPassWord = convertto-securestring -String $passWord -AsPlainText -Force $cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $userName, $encPassWord Connect-PnPOnline -Url "https://globalsharepoint2019-admin.sharepoint.com/" -Credentials $cred #Getting the hub site id for which we want to generate the report - those are connected to this hub site. $hubSiteURL="https://globalsharepoint2019.sharepoint.com/sites/SPHubSite" $hubSite = Get-PnPTenantSite $hubSiteURL $hubSiteId = $hubSite.HubSiteId write-host " #####Generating sites connected a single hub site report######: " -BackgroundColor DarkGreen write-host "Hub Site URL: " $hubSiteURL $associatedSites = @() #Get all sites associated to the hub site(in the above hub site) $sitesTenant = Get-PnPTenantSite -Detailed $sitesTenant | select url | % {$oneSite = Get-PnPTenantSite $_.url if($oneSite.hubsiteid -eq $hubSiteId) { write-host "Associated Site URL: " $oneSite.url $assocatedSiteObject = New-Object PSObject $assocatedSiteObject | Add-Member -MemberType NoteProperty -name "Hub Site URL" -value $hubSiteURL $assocatedSiteObject | Add-Member -MemberType NoteProperty -name "Hub Site ID" -value $hubSiteId $assocatedSiteObject | Add-Member -MemberType NoteProperty -Name "Associated Site URL" -value $oneSite.Url $assocatedSiteObject | Add-Member -MemberType NoteProperty -name "Associated Site Status" -value $oneSite.Status #Add the object with property to an Array $associatedSites += $assocatedSiteObject } } #Export the site array collection to a CSV file $associatedSites | Export-CSV "C:\Temp\GetAllSitesAssociatedInHubSites\SitesConnectedToSingleHubSiteReprot.csv" -NoTypeInformation write-host " #####Generating sites connected a single hub site report- ends here######: " -BackgroundColor DarkYellow ######The below script will list down all hub sites and their associated connected sites in the tenant.################## write-host "------------------------------------------------------------------------------------------------------" write-host " #####Generating master hub sites along with connected sites report for the tenant. ######:" -BackgroundColor DarkGreen $hubSites=Get-PnPHubSite $associatedSites = @() foreach($oneHubSite in $hubSites) { $test=$oneHubSite; write-host "Hub Site URL: " $oneHubSite.SiteUrl $hubSite = Get-PnPTenantSite $oneHubSite.SiteUrl; $hubSiteId = $hubSite.HubSiteId #Get all sites associated to the hub site(in the above hub site) $sitesTenant = Get-PnPTenantSite -Detailed $sitesTenant | select url | % {$oneSite = Get-PnPTenantSite $_.url if($oneSite.hubsiteid -eq $hubSiteId) { write-host "Associated Site URL: " $oneSite.url $assocatedSiteObject = New-Object PSObject $assocatedSiteObject | Add-Member -MemberType NoteProperty -name "Hub Site URL" -value $oneHubSite.SiteUrl $assocatedSiteObject | Add-Member -MemberType NoteProperty -name "Hub Site ID" -value $oneHubSite.ID $assocatedSiteObject | Add-Member -MemberType NoteProperty -Name "Associated Site URL" -value $oneSite.Url $assocatedSiteObject | Add-Member -MemberType NoteProperty -name "Associated Site Status" -value $oneSite.Status #Add the object with property to an Array $associatedSites += $assocatedSiteObject } } } #Export the site array collection to a CSV file $associatedSites | Export-CSV "C:\Temp\GetAllSitesAssociatedInHubSites\SitesConnectedToHubSiteReprotForTenant.csv" -NoTypeInformation write-host "##### Generating master hub sites along with connected sites report for the tenant ends here ######:" -BackgroundColor DarkYellow ######The below script will list down all hub sites and their associated connected sites in the tenant - ends here##################
PnP PowerShell script to get all sites connected to hub site: Retrieve Hub Test

Let’s see the exported hub sites report – how does it look like?
Master report for all hub sites in the SharePoint Online tenant:
Hub site association – Retrieve Hub
All associated sites connected to a single hub site report.

Retrieve Hub
View all sites that are connected to a hub site using the SharePoint admin center URL: hub site association
We need to generate a view to list down the hub site report using the hub site association.
Login to the SharePoint admin center URL.
Syntax:
https://tenant-admin.sharepoint.com
Example:
https://globalsharepoint2019-admin.sharepoint.com/
If we navigate to the SharePoint Online admin center URL, we will get the below SharePoint admin center page. Then, click on the “Active Sites” link from the left-side panel.

Then from the “Active sites” dashboard click on “Hub” -> Filter by Hub -> then select your hub site – this will list down all sites that are connected to that particular hub site.
For example – I have selected my hub site “SP Hub Site”

Now – we can see all sites that are connected to the hub site “SP Hub Site”
Similarly, we can export this report in a CSV file and we can filter that site report file from the local excel to have a list of all the sites that are part of the same Hub.
To do this we need to follow the below steps:
From the “Active sites” dashboard click on the “Export” button. This will export all SharePoint online sites in the CSV file to your local download folder.
Demo: PowerShell Get sites associated with hub (Retrieve Hub)
We will get the active sites report as below – from there we can filter as per our need.
Summary: PowerShell Get sites associated with hub (get hub site in SharePoint Online)
Thus, in this article we have learned the below:
- Get all sites associated with a SharePoint Online Hub Site – using SharePoint Online Admin center URL.
- Get all sites associated with a SharePoint Online Hub Site using PnP PowerShell.
- How to retrieve hub sites and associated sites using PnP Powershell.
- How to use the Get-PnPTenantSite command.
- Create a hub site in SharePoint Online.
- How to use Get-PnPHubSite.
- How to export the report in CSV file using the export-CSV command.
See Also: SharePoint Online tutorial
You may also like the below SharePoint Online tutorials:
- Learn about hub site in SharePoint Online
- Navigation in SharePoint online hub site
- Getting started with PnP PowerShell
- Get hub sites and associated sites using PnP PowerShell
- SharePoint Online Automation – O365 – Download files from a document library using PowerShell CSOM
- SharePoint Online Automation – O365 – Create multiple items in a list using PowerShell CSOM
- SharePoint Online Automation – O365 – Upload files to document library using PowerShell CSOM
- SharePoint Automation: PowerShell script to get remote server information
- SharePoint Online Automation – O365 – Send email from SharePoint online Using CSOM PowerShell script
- SharePoint Online Automation – O365 – Update document library metadata using PowerShell CSOM
- Create modern team site using PnP PowerShell – SharePoint
- In 2 steps convert a classic SharePoint page to modern using PnP
- In 4 steps access SharePoint online data using postman
- Learn SharePoint online administration step by step
- Planning your SharePoint hub sites

5 comments on “2 Best way to retrieve hub site in SharePoint online: Retrieve hub sites and associated sites using PnP Powershell”