Forum Discussion

Nigel_Price9911's avatar
Nigel_Price9911
Iron Contributor
Apr 23, 2017
Solved

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
    }

     

6 Replies

  • 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_Gross's avatar
    Dean_Gross
    Silver 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_Price9911's avatar
      Nigel_Price9911
      Iron Contributor

      Hi Dean

       

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

       

      Regards

       

      Nigel

Resources