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 參數的全部網站。這些範圍是 WebApplication、ContentDatabase 和 SiteSubscription 參數。若未提供其中一種參數,則範圍就是伺服器陣列。如果將這些範圍指定為無 Filter 參數,就會傳回該範圍內的所有網站。
Identity 參數支援提供以萬用子元 (*) 結尾的部分 URL。指定範圍內所有符合此部分 URL 的網站集合都會傳回。此外,若已提供 Regex 參數,則 Identity 參數會被視為規則運算式,並傳回符合此運算式之具有指定範圍內 URL 的網站集合。
Filter 參數是伺服器端的篩選,可篩選儲存在內容資料庫的特定網站集合屬性;若無 Filter 參數,則篩選這些屬性的過程會很緩慢。這些網站集合屬性為 Owner、SecondaryOwner 和 LockState。Filter 參數是與 Where-Object 陳述式使用相同語法的指令碼區塊,但在伺服器端執行以提供快速的結果。
LockState 的有效值為 Unlock、NoAdditions、ReadOnly 和 NoAccess。
請特別注意,Get-SPSite Cmdlet 傳回的每一個網站集合,都會在管線末端自動處置。若要以區域變數儲存 Get-SPSite 的結果,就必須使用 Start-SPAssignment 及 Stop-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 |
為能適當處置物件而管理物件。使用 SPWeb 或 SPSite 等物件可能會耗用大量的記憶體,因此在 Windows PowerShell 指令碼中使用這些物件時,必須適當地管理記憶體。您可以使用 SPAssignment 物件將物件指派給變數,並在不需要時處置這些物件,以釋放記憶體。使用 SPWeb、SPSite 或 SPSiteAdministration 物件時,若未使用指派集合或 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