PowerShell iterate and get all SharePoint sites and sub sites

Here is a PowerShell script which can be used to iterate entire SharePoint Web Application and generate a report on it.

SharePoint Management Shell
SharePoint Management Shell
Get all sites and subsites within SharePoint Web Application
Get-SPWebApplication http://sharepointsite | 
Get-SPSite -Limit All | Get-SPWeb -Limit All | 
Select Title, URL | 
Export-CSV C:\SharePoint_Sites_Report.csv -NoTypeInformation

The Above code gets only the Site Title and Site URL in the report. You can add more parameters to the script to get more information like Size, Type, etc.

Note - Web Application is only available in SharePoint on-premise versions. SharePoint Online (Mictosoft Office 365) has only site collections.

Have Questions? Post them here!
Try Out Code2care Dev Tools:


Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and software developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include learnings, tutorials, trouble-shooting steps, video tutorials, code snippets, how-to, blogs, articles, etc.

🎉 We are celebrating the 10th years of Code2care! Thank you for all your support!

We strongly support Gender Equality & Diversity.