pnpsubsitesundersitecollection

Title: Get the SubSites under All site collections

  1.     
  2. $URL="https://testhpeblore-admin.sharepoint.com"  
  3. $date = Get-date -format "MMddyyy-hhmmss"    
  4. $OutPutFilename = "SubSites-$date.csv"    
  5. "Site Collection URL"  + "," +" Sub Site URL"| Out-File -Encoding Default -FilePath $OutPutFilename;    
  6.   
  7. #[int]$Countnumber = 0;  
  8.   
  9. $Username = "my@testhpeblore.onmicrosoft.com"   
  10. $Password = "Suter@456@1283"   
  11.    
  12.  #$ErrorActionPreference = "SilentlyContinue"  
  13. [SecureString]$SecurePass = ConvertTo-SecureString $Password -AsPlainText -Force   
  14. [System.Management.Automation.PSCredential]$PSCredentials = New-Object System.Management.Automation.PSCredential($Username, $SecurePass)   
  15.   
  16.        
  17. # Connect to SharePoint Online       
  18. Connect-PnPOnline -Url $URL -Credentials  $PSCredentials     
  19.       
  20. # Get the site collections      
  21. $siteColl=Get-PnPTenantSite      
  22.       
  23. # Loop through the site collections      
  24. foreach($site in $siteColl)      
  25. {      
  26. #$Countnumber++;  
  27.   
  28.         
  29.     # $site.Url| Out-File -Encoding Default  -Append  -FilePath $OutPutFilename;    
  30.    # write-host "Site Collection" $site.Url    
  31.     
  32.   $getSubwebs = $null;   
  33. Connect-PnPOnline -Url $site.Url -Credentials $PSCredentials      
  34.       
  35. # Get the Sub  sites   
  36. $getSubwebs = $null;     
  37. $getSubwebs = Get-PnPSubWebs -Recurse    
  38.  if ((Get-PnPSubWebs).Count -eq 0)  
  39.  {  
  40.  $site.Url + ", " +"No Sub Sites" | Out-File -Encoding Default  -Append  -FilePath $OutPutFilename;   
  41.  }  
  42.       
  43.       
  44. # Loop through the site collections      
  45. foreach($Subsite in $getSubwebs)      
  46. {      
  47. #write-host $Subsite.Url    
  48. $site.Url + ", " +$Subsite.Url | Out-File -Encoding Default  -Append  -FilePath $OutPutFilename;   
  49.         
  50.     #$Countnumber + ", " +$site.Url+ ", " + $Subsite.Url | Out-File -Encoding Default  -Append  -FilePath $OutPutFilename;      
  51.     
  52.                       
  53.          # write-host  "Sub Site" $Subsite.Url   
  54.    }      
  55.    Disconnect-PnPOnline  
  56.      
  57.               
  58.    }   
  59.