SOLVED

Iterating Through Site Collections in a Tenancy using PnP PowerShell

Iron Contributor

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.

6 Replies

you can do something like

$sites = Get-SPOSite -Limit all -Detailed | Out-GridView -Title "Select site collections " -PassThru;

foreach($site in $sites)

{ do stuff

}

 

Hi Dean

 

Does this work with PnP PowerShell or does this work with CSOM only ?

 

Regards

 

Nigel

best response confirmed by Nigel Price (Iron Contributor)
Solution

Hi @Nigel Price,

 

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
}

 

@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!

1 best response

Accepted Solutions
best response confirmed by Nigel Price (Iron Contributor)
Solution

Hi @Nigel Price,

 

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
}

 

View solution in original post