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 参数匹配的网站。这些范围包括 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。 键入的值必须是有效 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 |
管理对象以便正确进行处理。使用 SPWeb 或 SPSite 等对象可能会耗用大量内存,而且在 Windows PowerShell 脚本中使用这些对象需要正确管理内存。通过使用 SPAssignment 对象,可以将对象分配给变量,然后在不需要这些对象时对它们进行处理,以释放内存。在使用 SPWeb、SPSite 或 SPSiteAdministration 对象时,如果不使用分配集合或 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