Get-SPSite

 

適用版本: SharePoint Foundation 2010, SharePoint Server 2010

上次修改主題的時間: 2015-03-09

傳回所有符合指定準則的網站集合。

Syntax

Get-SPSite [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Get-SPSite [-Identity] <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-Regex <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Get-SPSite -ContentDatabase <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WhatIf [<SwitchParameter>]]

Get-SPSite -SiteSubscription <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WhatIf [<SwitchParameter>]]

詳細描述

此 Cmdlet 包含一個以上的參數集。您可能只使用一個參數集中的參數,但不可以結合不同參數集的參數。如需如何使用參數集的詳細資訊,請參閱 Cmdlet Parameter Sets

Get-SPSite Cmdlet 會傳回符合 Identity 參數的單一網站,或符合指定範圍之 Filter 參數的全部網站。這些範圍是 WebApplicationContentDatabaseSiteSubscription 參數。若未提供其中一種參數,則範圍就是伺服器陣列。如果將這些範圍指定為無 Filter 參數,就會傳回該範圍內的所有網站。

Identity 參數支援提供以萬用子元 (*) 結尾的部分 URL。指定範圍內所有符合此部分 URL 的網站集合都會傳回。此外,若已提供 Regex 參數,則 Identity 參數會被視為規則運算式,並傳回符合此運算式之具有指定範圍內 URL 的網站集合。

Filter 參數是伺服器端的篩選,可篩選儲存在內容資料庫的特定網站集合屬性;若無 Filter 參數,則篩選這些屬性的過程會很緩慢。這些網站集合屬性為 OwnerSecondaryOwnerLockStateFilter 參數是與 Where-Object 陳述式使用相同語法的指令碼區塊,但在伺服器端執行以提供快速的結果。

LockState 的有效值為 UnlockNoAdditionsReadOnlyNoAccess

請特別注意,Get-SPSite Cmdlet 傳回的每一個網站集合,都會在管線末端自動處置。若要以區域變數儲存 Get-SPSite 的結果,就必須使用 Start-SPAssignmentStop-SPAssignment Cmdlet 以避免記憶體遺漏。

Parameters

參數 必要 類型 描述

Identity

必要

Microsoft.SharePoint.PowerShell.SPSitePipeBind

指定要取得的網站集合 URL 或 GUID。

此類型必須是格式為 http://server_name 或 http://server_name/sites/sitename 的有效 URL,或有效的 GUID (例如 12345678-90ab-cdef-1234-567890bcdefgh)。

ContentDatabase

必要

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

指定要從中列出網站集合的內容資料庫 GUID。

此類型必須是格式為 SPContentDB01 的有效資料庫名稱,或有效的 GUID (例如 12345678-90ab-cdef-1234-567890bcdefgh)。

SiteSubscription

必要

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

指定要從中取得網站集合的網站訂閱。

此類型必須是格式為 http://server_name 的有效 URL,或有效的 GUID (例如 12345678-90ab-cdef-1234-567890bcdefgh)。

AssignmentCollection

選用

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

為能適當處置物件而管理物件。使用 SPWebSPSite 等物件可能會耗用大量的記憶體,因此在 Windows PowerShell 指令碼中使用這些物件時,必須適當地管理記憶體。您可以使用 SPAssignment 物件將物件指派給變數,並在不需要時處置這些物件,以釋放記憶體。使用 SPWebSPSiteSPSiteAdministration 物件時,若未使用指派集合或 Global 參數,將會自動處置這些物件。

注意

使用 Global 參數時,所有物件會包含在全域儲存區內。若未立即使用物件,或未使用 Stop-SPAssignment 命令處置物件,將會發生記憶體不足的狀況。

Confirm

選用

System.Management.Automation.SwitchParameter

執行命令之前,會先提示您進行確認。如需詳細資訊,請輸入下列命令:get-help about_commonparameters

Filter

選用

System.Management.Automation.ScriptBlock

指定要套用的伺服器端篩選指令碼區塊。

此類型必須是有效的篩選名稱以及格式為 {$_PropertyName <operator> "filterValue"} 的有效值。

有效運算子是:EQ、NE、LIKE 及 NOTLIKE。

Limit

選用

System.String

限制要傳回的網站集合數上限。預設值為 200

此類型必須是有效的非負數。指定 ALL 會傳回指定範圍內的所有網站集合。

Regex

選用

System.Management.Automation.SwitchParameter

使用時,為 Identity 參數提供的 URL 會被視為規則運算式。

WebApplication

選用

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

指定網站列示所在的 URL、GUID 或 Web 應用程式名稱。

此類型必須是格式為 http://server_name 的有效 URL、有效的 GUID (例如 12345678-90ab-cdef-1234-567890bcdefgh) 或 Web 應用程式名稱 (例如 WebApplication1212)。

WhatIf

選用

System.Management.Automation.SwitchParameter

顯示訊息描述命令效果,而非描述命令執行的效果。如需詳細資訊,請輸入下列命令:get-help about_commonparameters

輸入類型

傳回類型

Example

------------------範例 1---------------------

Get-SPSite 'http://sitename' | Get-SPWeb -Limit All | Select Title

此範例會取得 http://sitename 中網站集合的子網站標題集合。

------------------範例 2---------------------

Get-SPSite -ContentDatabase "b399a366-d899-4cff-8a9b-8c0594ee755f" | Format-Table -Property Url, Owner, SecondaryOwner

此範例會從內容資料庫 b399a366-d899-4cff-8a9b-8c0594ee755f 中取得所有網站的子集合。

------------------範例 3---------------------

Start-SPAssignment -Global

$s = Get-SPSite -Identity http://MyApp/Sites/Site1

$s.Url

Stop-SPAssignment -Global

此範例會取得 Identity 參數所指定的網站,並將結果插入變數 s

上一個範例使用指派集合的 Global 方法。Global 方法使用簡單,但此物件的內容會快速成長。請注意不要執行啟用全域指派時會傳回許多結果的 Get-SPSite 指令。

------------------範例 4---------------------

$GC = Start-SPAssignment

$Sites = $GC | Get-SPSite -Filter {$_.Owner -eq "DOMAIN\JDoe"} -Limit 50

Stop-SPAssignment $GC

此範例會使用伺服器端查詢來取得使用者 DOMAIN\JDoe 所擁有的前 50 個網站,並指派它們至區域變數。

此範例使用進階指派集合方法。

------------------範例 5---------------------

Get-SPWebApplication http://sitename | Get-SPSite -Limit All |ForEach-Object {$sum=0}{ $sum+=$_.Usage.Storage }{$sum}

此範例顯示會傳回特定 Web 應用程式中,所有網站磁碟空間使用量的總和。

------------------範例 6---------------------

Get-SPSite -Identity "http://localserver/(my|personal)/sites" -Regex

此範例會傳回所有符合特定規則運算式的網站。

使用 Regex 參數時,Identity 上必須要有「引號」。

------------------範例 7---------------------

Get-SPSite http://sitename/sites/teams/* -Limit 100

此範例最多可取得 URLhttp://sitename/sites/teams 下的 100 個網站。

------------------範例 8---------------------

Get-SPSite | select url, @{Expression={$_.Usage.Storage}}

此範例使用 .UsageInfo 屬性的儲存欄位取得網站集合所使用的儲存量。

See Also

Reference

Backup-SPSite
Move-SPSite
New-SPSite
Remove-SPSite
Restore-SPSite
Set-SPSite