Forum Discussion
Iterating Through Site Collections in a Tenancy using PnP PowerShell
Does anyone know how I can Iterate through a series of Site Collections in a Office 365 tenancy using PnP PowerShell ?
I can get a series of Site Collections using :-
$SiteCollections = Get-PnPTenantSite
Now I want to iterate through $SIteCollections printing out the title and URL.
Hi Nigel_Price9911,
I would go for something like this to list all subwebs for each site collection:
$cred = Get-Credential Connect-PnPOnline "https://mytenant.sharepoint.com" -Credentials $cred $SiteCollections = Get-PnPTenantSite foreach ($SiteCollection in $SiteCollections) { Connect-PnPOnline -Url $SiteCollection.Url -Credentials $cred Get-PnPSubWebs }
- Dean_GrossSilver Contributor
you can do something like
$sites = Get-SPOSite -Limit all -Detailed | Out-GridView -Title "Select site collections " -PassThru;
foreach($site in $sites)
{ do stuff
}
- Nigel_Price9911Iron Contributor
Hi Dean
Does this work with PnP PowerShell or does this work with CSOM only ?
Regards
Nigel
Hi Nigel_Price9911,
I would go for something like this to list all subwebs for each site collection:
$cred = Get-Credential Connect-PnPOnline "https://mytenant.sharepoint.com" -Credentials $cred $SiteCollections = Get-PnPTenantSite foreach ($SiteCollection in $SiteCollections) { Connect-PnPOnline -Url $SiteCollection.Url -Credentials $cred Get-PnPSubWebs }
- Nigel_Price9911Iron Contributor
Thanks Pieter Veenstra that will do nicely.
- Brandon bCopper Contributor
Pieter Veenstra Is there a way to iterate all subwebs of a subweb using PNP? My foreach loop is not going deeper than the initial subweb.
What's up Dean_Gross!
- Brandon bCopper ContributorNever mind, I forgot about -Recurse:
https://docs.microsoft.com/en-us/powershell/module/sharepoint-pnp/get-pnpsubwebs?view=sharepoint-ps