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 参数集

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。

键入的值必须是有效 URL(格式为 http://server_name 或 http://server_name/sites/sitename)或有效 GUID(如 12345678-90ab-cdef-1234-567890bcdefgh)。

ContentDatabase

必需

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

指定从中列出网站集的内容数据库的 GUID。

键入的值必须是有效数据库名称(格式为 SPContentDB01)或有效 GUID(如 12345678-90ab-cdef-1234-567890bcdefgh)。

SiteSubscription

必需

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

指定要从其获取网站集的网站订阅。

键入的值必须是有效 URL(格式为 http://server_name)或有效 GUID(如 12345678-90ab-cdef-1234-567890bcdefgh)。

AssignmentCollection

可选

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

管理对象以便正确进行处理。使用 SPWebSPSite 等对象可能会耗用大量内存,而且在 Windows PowerShell 脚本中使用这些对象需要正确管理内存。通过使用 SPAssignment 对象,可以将对象分配给变量,然后在不需要这些对象时对它们进行处理,以释放内存。在使用 SPWebSPSiteSPSiteAdministration 对象时,如果不使用分配集合或 Global 参数,则会自动处理这些对象。

注意Note
在使用 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

指定从其列出网站的 Web 应用程序的 URL、GUID 或名称。

键入的值必须是有效的 URL(格式为 http://server_name);有效的 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

此示例获取 URL http://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