This script gets list of all administrators and last access date/time for each SharePoint site collection.
The script saves output in tab separated format (.csv) file.
Save code as .ps1 file and start in Windows PowerShell
#Set file location for saving information. We'll create a tab separated file.
$FileLocation = "C:\Temp\Report.csv"
#Load SharePoint snap-in
Add-PSSnapin Microsoft.SharePoint.PowerShell
#Add color
function Receive-Color
{
process { Write-Host $_ -ForegroundColor Green }
}
#Fetches webapplications in the farm
$WebApplications = Get-SPWebApplication -IncludeCentralAdministration
Write-Output "URL `t Site Collection Owner `t Site Collection Secondary Owner `t Site Collection Admin `t Last Access date `t ContentModified" | Out-file $FileLocation
foreach($WebApplication in $WebApplications){
#Fetches site collections list within sharepoint webapplication
Write-Output ""
Write-Output "Working on web application $($WebApplication.Url)" | Receive-Color
$Sites = Get-SPSite -WebApplication $WebApplication -Limit All
foreach($Site in $Sites)
{
$Admins=""
#Get all Site Collection Administrators
foreach ($siteCollAdmin in $Site.RootWeb.SiteAdministrators)
{
$Admins+= $siteCollAdmin.LoginName +";"
}
foreach($web in $Site.Allwebs)
{
$Lastaccessed = $web.LastItemModifiedDate
$ContentModified = $Site.LastContentModifiedDate
}
#Fetches information for each site
Write-Output "$($Site.Url) `t $($Site.Owner.Name) `t $($Site.SecondaryContact.Name) `t $($Admins) `t $($Lastaccessed) `t $($ContentModified)" | Out-File $FileLocation -Append
$Site.Dispose()
}
}
#Unload SharePoint snap-in
Remove-PSSnapin Microsoft.SharePoint.PowerShell
Write-Output ""
Write-Output "Script Execution finished" | Receive-Color
Ref: http://panky-sharma.blogspot.com/2016/08/last-access-date-and-time-for.html
The script saves output in tab separated format (.csv) file.
Save code as .ps1 file and start in Windows PowerShell
#Set file location for saving information. We'll create a tab separated file.
$FileLocation = "C:\Temp\Report.csv"
#Load SharePoint snap-in
Add-PSSnapin Microsoft.SharePoint.PowerShell
#Add color
function Receive-Color
{
process { Write-Host $_ -ForegroundColor Green }
}
#Fetches webapplications in the farm
$WebApplications = Get-SPWebApplication -IncludeCentralAdministration
Write-Output "URL `t Site Collection Owner `t Site Collection Secondary Owner `t Site Collection Admin `t Last Access date `t ContentModified" | Out-file $FileLocation
foreach($WebApplication in $WebApplications){
#Fetches site collections list within sharepoint webapplication
Write-Output ""
Write-Output "Working on web application $($WebApplication.Url)" | Receive-Color
$Sites = Get-SPSite -WebApplication $WebApplication -Limit All
foreach($Site in $Sites)
{
$Admins=""
#Get all Site Collection Administrators
foreach ($siteCollAdmin in $Site.RootWeb.SiteAdministrators)
{
$Admins+= $siteCollAdmin.LoginName +";"
}
foreach($web in $Site.Allwebs)
{
$Lastaccessed = $web.LastItemModifiedDate
$ContentModified = $Site.LastContentModifiedDate
}
#Fetches information for each site
Write-Output "$($Site.Url) `t $($Site.Owner.Name) `t $($Site.SecondaryContact.Name) `t $($Admins) `t $($Lastaccessed) `t $($ContentModified)" | Out-File $FileLocation -Append
$Site.Dispose()
}
}
#Unload SharePoint snap-in
Remove-PSSnapin Microsoft.SharePoint.PowerShell
Write-Output ""
Write-Output "Script Execution finished" | Receive-Color
Ref: http://panky-sharma.blogspot.com/2016/08/last-access-date-and-time-for.html
No comments:
Post a Comment