How to create a script in powershell 5.1 that gets list of site collections , Url, admin, size in MB, Title, number of Share Point Lists, number of share Point document libraries, number of SharePoint Page libraries

Teja Vivek 0 Reputation points
2023-02-21T19:42:44.7466667+00:00

How to create a script in powershell 5.1 that gets list of site collections , Url, admin, size in MB, Title, number of Share Point Lists, number of share Point document libraries, number of SharePoint Page libraries

Microsoft 365 and Office | SharePoint | For business | Windows
Windows for business | Windows Server | User experience | PowerShell
{count} votes

1 answer

Sort by: Most helpful
  1. Fabricio Godoy 2,626 Reputation points
    2023-02-27T02:17:38.3966667+00:00

    Hello @Teja Vivek

    I believe that you looking for this:

    if ((Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null) {
        Add-PSSnapin Microsoft.SharePoint.PowerShell
    }
    
    $siteCollections = Get-SPSite -Limit All
    
    foreach ($site in $siteCollections) {
        $url = $site.Url
        $admin = $site.Owner.DisplayName
        $sizeInMB = [Math]::Round($site.Usage.Storage / 1MB, 2)
        $title = $site.RootWeb.Title
    
        $lists = $site.RootWeb.Lists | Where-Object {$_.BaseType -eq "GenericList"}
        $docLibs = $site.RootWeb.Lists | Where-Object {$_.BaseType -eq "DocumentLibrary"}
        $pageLibs = $site.RootWeb.Lists | Where-Object {$_.BaseType -eq "WebPartPageLibrary"}
    
        $numLists = $lists.Count
        $numDocLibs = $docLibs.Count
        $numPageLibs = $pageLibs.Count
    
        Write-Host "Site Collection URL: $url"
        Write-Host "Site Collection Administrator: $admin"
        Write-Host "Site Collection Size (MB): $sizeInMB"
        Write-Host "Site Collection Title: $title"
        Write-Host "Number of SharePoint Lists: $numLists"
        Write-Host "Number of SharePoint Document Libraries: $numDocLibs"
        Write-Host "Number of SharePoint Page Libraries: $numPageLibs"
        Write-Host ""
    }
    
    
    

    Regards

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.