Title: Get the SubSites under All site collections
- $URL="https://testhpeblore-admin.sharepoint.com"
- $date = Get-date -format "MMddyyy-hhmmss"
- $OutPutFilename = "SubSites-$date.csv"
- "Site Collection URL" + "," +" Sub Site URL"| Out-File -Encoding Default -FilePath $OutPutFilename;
- #[int]$Countnumber = 0;
- $Username = "my@testhpeblore.onmicrosoft.com"
- $Password = "Suter@456@1283"
- #$ErrorActionPreference = "SilentlyContinue"
- [SecureString]$SecurePass = ConvertTo-SecureString $Password -AsPlainText -Force
- [System.Management.Automation.PSCredential]$PSCredentials = New-Object System.Management.Automation.PSCredential($Username, $SecurePass)
- # Connect to SharePoint Online
- Connect-PnPOnline -Url $URL -Credentials $PSCredentials
- # Get the site collections
- $siteColl=Get-PnPTenantSite
- # Loop through the site collections
- foreach($site in $siteColl)
- {
- #$Countnumber++;
- # $site.Url| Out-File -Encoding Default -Append -FilePath $OutPutFilename;
- # write-host "Site Collection" $site.Url
- $getSubwebs = $null;
- Connect-PnPOnline -Url $site.Url -Credentials $PSCredentials
- # Get the Sub sites
- $getSubwebs = $null;
- $getSubwebs = Get-PnPSubWebs -Recurse
- if ((Get-PnPSubWebs).Count -eq 0)
- {
- $site.Url + ", " +"No Sub Sites" | Out-File -Encoding Default -Append -FilePath $OutPutFilename;
- }
- # Loop through the site collections
- foreach($Subsite in $getSubwebs)
- {
- #write-host $Subsite.Url
- $site.Url + ", " +$Subsite.Url | Out-File -Encoding Default -Append -FilePath $OutPutFilename;
- #$Countnumber + ", " +$site.Url+ ", " + $Subsite.Url | Out-File -Encoding Default -Append -FilePath $OutPutFilename;
- # write-host "Sub Site" $Subsite.Url
- }
- Disconnect-PnPOnline
- }