Forum Discussion
Bug - The mysterious case of Get-SPOSite
Background
Sometimes you run into weird issues when you are doing the most common things. In this case, my colleague https://twitter.com/Marhcuz was cleaning up our demo Office 365 tenant. To make an overview of all site collections, he ran the following cmdlet:
Get-SPOSite -Limit All | Export-CSV "C:\temp\sites.csv"
This would make a list of all site collections that are available in our Office 365 tenant and export it to a CSV file. When going through it, he noticed that none of the site collections were flagged as a hubsite. This couldn't possibly be true as we created many hub sites for testing purposes. I decided to check this in my own tenant to see if it was a local problem. So let's see what happens.
The problem
Running the following PowerShell returns all site collections that contain the word intranet.
Get-SPOSite -Limit All | ?{$_.URL -like "*intranet*"} | select URL, IsHubSite
So it looks like we do not have any hub sites. However, when I check the exact same thing for 1 of the site collections (which I know for sure is a Hub Site) by running:
Get-SPOSite https://sharepointrelated.sharepoint.com/sites/intranet-EN | Select URL, IsHubSite
Workaround
The current workaround is to get all site collections, and then use a foreach loop to go through them again and get the property. In my case, I would run:
Get-SPOSite https://sharepointrelated.sharepoint.com/sites/intranet-EN | Select URL, IsHubSite You can also use the Get-SPOHubSite cmdlet to get all Hub Sites in your tenant. Here is the result:
Hopefully this helps you find your Hub Sites succesfully!
2 Replies
Have you tried the -Detailed switch? There are multiple properties that return "default" values when you run Get-SPOSite, and only show the real value with the -Detailed switch.
- Nico MartensBrass ContributorHi Vasil,
I tried this just now, unfortunately this doesn't help :(