How to list all the sub-sites and the site collections within a SharePoint web application using Windows Powershell

How to list all the sub-sites and the site collections within a SharePoint web application using Windows Powershell

  • Comments 7

Recently, I worked on a partner's request for enumerating all the sub-sites and the site collection within a SharePoint web application. If you want to do the same thing, may this be useful for you.

Windows Powershell has made it so easy to work/administer with several Microsoft products like, SharePoint, SQL Server, Exchange Server etc., so that almost anyone who has some knowledge of Powershell programming can work with them.

Find out yourself by seeing the code below:

--------------------------------------------------

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null

$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
$websvcs = $farm.Services | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebService]}
$webapps = @()

foreach ($websvc in $websvcs) {
           write-host "Web Applications"
           write-host ""
    foreach ($webapp in $websvc.WebApplications) {
        write-host "Webapp Name -->"$webapp.Name
           write-host ""
           write-host "Site Collections"
           write-host ""
    foreach ($site in $webapp.Sites) {
        write-host "Site URL --> -->" $site.URL
           write-host ""
           write-host "Websites"
           write-host ""
    foreach ($web in $site.AllWebs) {
        write-host "Web URL --> --> -->" $web.URL
           write-host ""
           write-host "Lists"
           write-host ""
    foreach ($list in $web.Lists) {
           write-host "List Title --> --> --> -->" $list.Title
           write-host ""
    }

    foreach ($group in $web.Groups) {
           write-host "Group Name --> --> --> -->" $group.Name
           write-host ""

    foreach ($user in $group.Users) {
           write-host "User Name --> --> --> -->" $user.Name
           write-host ""
    }
    }

    }

    }

    }
}

--------------------------------------------------

Happy Programming!

Comments
  • Hi Vijay,

    I have a WSS 3.0 server with several webapps.  How can I modify this script to enumerate the sibsites under one of the webapps only?

    Thanks

  • Thanks Vijay, this is is exacly what i was looking for this morning.  Much appreciated

  • Anyway to run this script from a machine that is not a SharePoint server?

  • How can I export output to txt or csv file?

  • Its not working for me, :( can you help a little more, as I'm new to SP 2010

  • Do you have few commands to check it ?

  • fulfill your dreams (11551)

    we gives you the easiest way to increase income

    For more details visit: http://eazy2earn.com

Page 1 of 1 (7 items)
Leave a Comment
  • Please add 6 and 3 and type the answer here:
  • Post