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”)
$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
}
}
{
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
Post a Comment