SharePoint PowerShell命令系列
(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
這兩個命令一般情況下是一起出現的, 一個是獲取指定條件的網站集, 另一個是設置對應的網站集參數.
例子
- 獲取指定的內容數據庫中所有網站集地址和主要管理員
- 獲取指定路徑的網站集中的子網站的標題和URL
- 設置指定網站集的第二管理員
- 設置指定網站集只讀
- 設置指定網站集的配額
(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 -SecureSocketsLayerGet-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的對象說明.
總結
以上是生活随笔為你收集整理的SharePoint PowerShell命令系列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个体户办信用卡额度是多少
- 下一篇: sharepoint 概念及认证方式介绍