This counts various items in SharePoint via powershell
$SPWebApp = Get-SPWebApplication https://xxx
$numberofCollections = $SPWebApp.Sites.Count
$numberofWebs = 0
$numberoflists = 0
foreach ($SPSite in $SPWebApp.Sites)
{
write-host "Site collection: " $SPSite.Url
foreach ($SPWeb in $SPSite.AllWebs)
{
$numberofWebs++
foreach ($list in $SPWeb.Lists)
{
$numberoflists++
<#
$ListURL = $SPWeb.url + "/" + $list.RootFolder.Url
Write-Output $ListURL
[Microsoft.SharePoint.SPQuery]$query = New-Object Microsoft.SharePoint.SPQuery
$query.ViewAttributes = "Scope='Recursive'"
$allitems = $list.GetItems($query);
$filecount = $allitems.Count;
Write-Output " No of item: " $filecount
#>
if ($SPWeb -ne $null)
{
$SPWeb.Dispose()
}
}
}
if ($SPSite -ne $null)
{
$SPSite.Dispose()
}
}
write-host "Number of collections" $numberofCollections
write-host "Number of Webs" $numberofWebs
write-host "Number of lists" $numberoflists
$numberofWebs = 0
$numberoflists = 0
$SPSite = Get-SPSite https://xxxxx
foreach ($SPWeb in $SPSite.AllWebs)
{
$numberofWebs++
foreach ($list in $SPWeb.Lists)
{
$numberoflists++
<#
$ListURL = $SPWeb.url + "/" + $list.RootFolder.Url
Write-Output $ListURL
[Microsoft.SharePoint.SPQuery]$query = New-Object Microsoft.SharePoint.SPQuery
$query.ViewAttributes = "Scope='Recursive'"
$allitems = $list.GetItems($query);
$filecount = $allitems.Count;
Write-Output " No of item: " $filecount
#>
if ($SPWeb -ne $null)
{
$SPWeb.Dispose()
}
}
}
write-host "Number of Webs" $numberofWebs
write-host "Number of lists" $numberoflists