如何利用PowerShell分析SharePoint WebApplication体系结构

时间:2014-12-01

老葡京网站娱乐 www.sdguanhua.com 之前一篇文章《两张图看清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

作者:cnblogs 木宛城主

更多精彩内容:http://www.sdguanhua.com/web/sharepoint/