(1) Backup-SPSite & Restore-SPSite
这两条命令可能是大家最先接触的PowerShell命令了吧, 一个是备份网站集, 另一个是还原网站集.
Backup-SPSite
例子
Backup-SPSite http://site_name -Path C:\Backup\site_name.bak
参数
- Force: 覆盖现有备份
- NoSiteLock: 设置备份的时候网站集是否可以读写. 如果没有指定该参数, 那么在备份的过程中网站集将会被设置成只读, 备份完成后网站集恢复原始状态.
Restore-SPSite
例子
Restore-SPSite http://site_name -Path C:\Backup\site_name.bak
参数
- Force: 覆盖现有URL地址上的网站集
- ContentDatabase: 指定还原到哪个内容数据库上; 如果没有指定将使用未使用的网站集容量最大, 其数据库状态为准备就绪的内容数据库.
- DatabaseServer & DatabaseName: 指定数据服务器名称和数据名称
(2) Export-SPWeb & Import-SPWeb
之前介绍了如何备份还原网站集, 可是有时候我们只需要把某个网站或者子站点中的内容导出, 那么就会用到这两条命令.
Export-SPWeb
例子
Export-SPWeb http://web_name -Path web.cmp
参数
- Force: 覆盖现有的导出文件.
- CompressionSize: 设置导出文件的最大大小, 如果超过就会拆成多个文件.
- IncludeVersions: 设置导出文件中包含的文件和列表项版本历史记录的类型, 如果没有指定则是当前主版本.
Import-SPWeb
例子
Import-SPWeb http://web_name -Path web.cmp
参数
- Force: 覆盖现有站点.
- ActivateSolutions: 设置导入站点的时候是否激活用户解决方案.
- UpdateVersions: 设置导入到网站的文件版本已经存在于该网站上的时候该如何处理, 默认是增加新版本.
(3) 操作WSP解决方案包的相关命令
Add-SPSolution
例子
Add-SPSolution -LiteralPath c:\solution.wsp
注意该命令只是向SharePoint服务器场添加解决方案包, 并不会做其他操作.
Install-SPSolution
例子
Install-SPSolution -Identity solution.wsp -GACDeployment
参数
- Force: 强制部署新的解决方案包.
- AllWebApplications: 向服务器场中所有Web应用程序部署新的解决方案包.
- FullTrustBinDeployment: 允许完全信任Bin部署.
- GACDeployment: 部署到全局程序集缓存.
- Time: 在指定的时间部署解决方案包, 默认是立刻部署.
- WebApplication: 为指定的Web应用程序部署新的解决方案包.
Update-SPSolution
例子
Update-SPSolution -Identity solution.wsp -LiteralPath c:\solutionv2.wsp -GACDeployment
参数
- Force: 强制更新解决方案包.
- GACDeployment: 部署到全局程序集缓存.
- Time: 在指定的时间更新解决方案包, 默认是立刻部署.
Uninstall-SPSolution
例子
Uninstall-SPSolution -Identity solution.wsp
参数
- AllWebApplications: 从服务器场中所有Web应用程序回收卸载解决方案包.
- WebApplication: 从指定的Web应用程序回收卸载解决方案包.
- Time: 在指定的时间回收卸载解决方案包, 默认是立刻回收卸载.
注意该命令只是收回卸载已部署的解决方案包, 并不会做其他操作.
Remove-SPSolution
例子
Remove-SPSolution -Identity solution.wsp
(4) Get-SPSolution
之前介绍了操作WSP解决方案包的相关命令, 如果我们想获取某个解决方案包的相关属性则可以使用此命令.
参数
- Deployed: 获取是否已经将解决方案部署到服务器场中
- DeployedServers: 获取此解决方案包部署到的服务器名称
- DeployedWebApplications: 获取此解决方案包部署到的web应用程序名称
- DeploymentState: 获取是否已经部署了此解决方案包
- Farm: 获取此解决方案包安装在的服务器场名称
- JobExists: 是否Job跟此解决方案包有关联
- Name: 返回此解决方案包的名称
- SolutionId: 返回此解决方案包的ID
- Status: 获取或设置此解决方案包的状态
例子
显示当前环境中的解决方案包信息
Get-SPSolution | Format-Table -Property Name,Status,Deployed
(5) New-SPSite
这个命令简单的说就是创建新的网站集.
例子
New-SPSite http://<site name> -OwnerAlias "DOMAIN\username"
参数
- Name: 指定新网站集的标题.
- Description: 指定新网站集的描述说明.
- Url: 指定新网站集所使用的地址.
- HostHeaderWebApplication: 承载新网站集的Web应用程序名称、URL、GUID或SPWebApplication对象.
- OwnerAlias: 指定新网站集所有者的用户登录名, 格式为"Domain\username".
- SecondaryOwnerAlias: 指定新网站第二所有者的用户登录名.
- CompatibilityLevel: 设置新网站集的体验版本, 值可为14(SharePoint 2010的体验网站)或15(SharePoint 2013的体验网站).
- ContentDatabase: 指定要承载新网站集的内容数据库名称或GUID, 如果未指定那么将自动选择.
- Language: 指定新网站集的语言ID.
- QuotaTemplate: 指定新网站集的配额模板.
- Template: 指定新网站集根网站的网站模板.
具体如下图所示
(6) Get-SPSite & Set-SPSite
这两个命令一般情况下是一起出现的, 一个是获取指定条件的网站集, 另一个是设置对应的网站集参数.
例子
- 获取指定的内容数据库中所有网站集地址和主要管理员
Get-SPSite -ContentDatabase "WSS_Content_7f74cfcb9d484b91802e973c5361139a" | Format-Table -Property Url, Owner
- 获取指定路径的网站集中的子网站的标题和URL
Get-SPSite 'http://sitename' | Get-SPWeb -Limit All | Select Title, URL
- 设置指定网站集的第二管理员
Get-SPSite http://sitename | Set-SPSite -SecondaryOwnerAlias "DOMAIN\username"
- 设置指定网站集只读
Get-SPSite http://sitename | Set-SPSite -LockState ReadOnly
- 设置指定网站集的配额
Set-SPSite -identity "http://sitename" -MaxSize 1000000 -WarningSize 500000
(7) Move-SPSite
我们有时候需要将网站集从一个内容数据库移动到另一个内容数据库中, 为啥需要移动呢? 从SharePoint最佳实践中我们可以发现微软建议一个内容数据库保持在200G以下, 那么如果超过200G了, 我们可以适当的将一些网站集从某个内容数据库移动到另一个内容数据库中.
注意点
- 在移动当前网站集的过程中, 该网站集将被禁止访问. 移动完成后, 网站集将恢复到其原始状态.
- 新内容数据库必须已存在.
- 新旧内容数据库必须在一个SQL Server中, 并且必须已经附加到当前网站集的Web应用程序中.
最后在移动完成后, 需要IISRESET一下哟.
(8) Remove-SPSite
该命令将删除现有网站集以及所有子网站.
参数
- GradualDelete: GradualDelete
例子
Remove-SPSite -Identity "http://sitename"
(9) New-SPWeb
在现有网站集中创建新的网站.
参数
- Url: 创建新网站的地址.
- Language: 新网站的语言.
- Template: 新网站的模板.
- AddToQuickLaunch: 将新网站增加到"快速启动"中.
- AddToTopNav: 将新网站增加到"顶级导航栏"中.
- UseParentTopNav: 新网站将于父网站使用相同的顶级导航栏.
例子
New-SPWeb http://spsite/subweb -Template "STS#0"
(10) Get-SPWeb & Set-SPWeb
Get-SPWeb
获取指定的子网站.
参数
- Identity: 指定子网站的地址.
- Limit: 限制要返回的子网站的最大数量, 默认值为200; 若要返回所有网站, 请输入all.
- Site: 指定获取子网站的网站集的地址或GUID.
示例
Get-SPWeb -site http://sitename/sites/site1
Set-SPWeb
设置指定的子网站.
参数
- Identity: 需要设置的子网站地址或者对象.
- Name: 设置子网站的名称.
- Description: 设置子网站的描述.
- Theme: 设置子网站的主题.
示例
Get-SPWeb http://sitename/subweb | Set-SPWeb -Title "My Site Title"
11) Remove-SPWeb
删除指定的子网站.
参数
- Identity: 指定子网站的标识.
例子
Remove-SPWeb http://sitename/subsite
(12) New-SPWebApplication
SharePoint PowerShell命令系列 (12) New-SPWebApplication
参数
- AllowAnonymousAccess: 允许进行匿名访问.
- ApplicationPoolAccount: 将运行此应用程序池的用户帐户的身份.
- AuthenticationMethod: 使用 Kerberos 或 NTLM 身份验证方法, 默认是 NTLM.
- DatabaseCredentials: 指定数据库用户帐户.
- Path: 指定新的 Web 应用程序的物理目录.
例子
New-SPWebApplication -Name "Site" -Port 80 -HostHeader sharepoint.contoso.com -URL "https://www.contoso.com" -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\sharepointinstall") -AuthenticationProvider $ap -SecureSocketsLayer
Get-SPWebApplication & Set-SPWebApplication
- Get-SPWebApplication
- 获取指定的Web应用程序.
- 参数
- Identity: 指定Web应用程序的名称, URL或GUID.
- IncludeCentralAdministration: 返回的集合中包含管理中心的Web应用程序.
- 示例
- Get-SPWebApplication http://sitename
- Set-SPWebApplication
- 设置指定的Web应用程序.
- 参数
- Identity: 指定Web应用程序的名称, URL或GUID.
- SMTPServer: 指定Web应用程序将使用的新的出站SMTP服务器.
- Zone: 设置区域信息.
- AuthenticationMethod: 设置身份验证方式设置为经典Windows身份验证.
- AuthenticationProvider: 设置Web应用程序的验证提供程序.
- SecureSocketsLayer: 设置SSL加密.
- SignInRedirectProvider: 设置登录重定向URL.
- SignInRedirectURL: 设置Web应用程序的登录重定向URL.
- 示例
- Get-SPWebApplication http://somesite | Set-SPWebApplication -OutgoingEmailAddress user@contoso.com
(14) Remove-SPWebApplication
删除指定的Web应用程序.
参数
Identity: 指定Web应用程序的名称, URL或GUID.
Zone: 从Default, Intranet, Internet, Extranet或者Custom区域中删除一个.
DeleteIISSite: 删除关联的IIS网站, 默认不删除.
RemoveContentDatabases: 删除关联的内容数据库, 默认不删除.
示例
Remove-SPWebApplication http://sitename -Confirm -DeleteIISSite -RemoveContentDatabases
(15) Get-SPFarm
命令解释
Get-SPFarm 将返回本地SharePoint服务器场对象.
使用方法
$sf = Get-SPFarm
示例
- 获取当前场的名称
$sf.name
sharepoint_config
- 获取当前场的ID
$sf.id
GUID XXXXXXXx-XXXXXX-XXX
- 获取当前场中的服务器
$sf.servers
sql01
更多的参数请参阅MSDN上关于SPFarm的对象说明.