之前一篇文章《两张图看清SharePoint 2013 Farm 逻辑体系结构》谈到Web Application,Content Database,Site Collection的关系。有了这个逻辑结构图之后,这篇文章将使用PowerShell,来更加直观的展现SharePoint WebApplication的体系结构。
SharePoint WebApplication Structure
- 从上图可以看出,一个WebApplication可以包含多个Content Database,可以使用PowerShell查看WebApplication包含的Content Databases。
Add-PSSnapin Microsoft.SharePoint.PowerShell
#Get-SPWebApplication |Get-Member#
Get-SPWebApplication | %{
Write-Host "`n -$($_.Url)";
foreach($cd in $_.ContentDatabases){
Write-Host "$($cd.Name)"
}
}
- 当然也可以获取更精确的数据,比如Content Database的Size
Add-PSSnapin Microsoft.SharePoint.PowerShell
Get-SPWebApplication | %{Write-Output "`n -$($_.Url)";foreach($cd in $_.ContentDatabases){
$ContentDatabaseSize = [Math]::Round(($cd.disksizerequired/1GB),2)
Write-Output "ContentName:$($cd.Name) `n Size:$($ContentDatabaseSize)G"
}}
- 得到了Content Database之后,还可以继续深究,如得到Content Database中包含的Site Collection,同样可以一行PoweShell获取。
Add-PSSnapin Microsoft.SharePoint.PowerShell
#Get-SPContentDatabase |Get-Member#
Get-SPContentDatabase | %{Write-Output "`n -$($_.Name)";foreach($site in $_.Sites){Write-Output "$($site.Url)"}} >>c:xx2.txt
- 当然还可以得到Site Collection的Size,方法同得到Content Database的Size一样,同样也是一行PowerShell实现。
Add-PSSnapin Microsoft.SharePoint.PowerShell
Get-SPWebApplication |%{Write-Output "`n -$($_.Url)";$_.Sites | select url, @{label="Size in MB";Expression={[Math]::Round($_.usage.storage/1MB,2)}}|Sort-Object -Descending -Property "Size in MB"}>>c:tt.txt