PowerShell Script to find out Dead sites from SharePoint

This script will pull out the list of dead sites acording to inputs provided in number of days.
It will export information in .CSV file such as Site admin name, Site name, Last modified, email address of Site admin.

$daysInActive = Read-Host “Enter in number of days to check since last modified”
$date = (Get-Date).AddDays(-$daysInActive).ToString(“MM/dd/yyyy”)
Write-Host $date
$webApps = Get-SPWebApplication
foreach($webApp in $webApps)
{
Write-Host $webApp.URL
foreach($siteColl in $webApp.Sites)
{
[Microsoft.SharePoint.SPSecurity]::RunWithElevatedPrivileges({
#Write-Host “in sitecollection”
#if($siteColl.URL -ne $null)
# {
#Write-Host “url is not null”
foreach($web in $siteColl.AllWebs )
{ #Write-Host $web.URL
if($web -ne $null)
{
if ($web.LastItemModifiedDate -le $date)
{
$SiteAdminsEmail = “”;
$SiteAdminsNames = “”;
foreach($siteAdmin in $web.SiteAdministrators)
{
$SiteAdminsEmail+= $siteAdmin.Email+”;”
$SiteAdminsNames+=$siteAdmin.DisplayName+”;”
}
$web.Url + “|” + $web.LastItemModifiedDate+ “|” +$SiteAdminsEmail + “|” + $web.SiteAdministrators +”|” + $SiteAdminsNames >> UnusedSitesTobeDeletd.csv
}
}
}
#}
})
}
}​

Comments

Popular posts from this blog

How to Improve Workflow Performance in SharePoint Server 2010

PowerShell Script to Check and Generate Report on Access Rights for a Specific User:

Disable Loopbackcheck using PowerShell