SharePoint發(fā)行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強(qiáng)大的團(tuán)隊(duì)協(xié)作環(huán)境,使得組織能夠在整個(gè)組織內(nèi)部實(shí)現(xiàn)整合、組織、查找和提供 SharePoint站點(diǎn)。 在SharePoint開發(fā)中,經(jīng)常會(huì)遇到網(wǎng)站部署,然而,當(dāng)我們從開發(fā)環(huán)境,部署到正式環(huán)境以后,尤其是備份還原,所有用戶組的用戶,還依然是開發(fā)環(huán)境的,這時(shí),我們就需要用PowerShell更新一下; PowerShell命令截圖: Windows PowerShell ISE編輯工具編寫PowerShell非常方便,頭上的一句add是添加SharePoint的引用; PowerShell完整代碼: PowerShell的編寫和cmd命令、C#代碼都有一些區(qū)別,尤其是比較字符,字符串連接,變量等等,大家有興趣還是可以看看PowerShell的資料的; ![]() 1 Add-PsSnapin Microsoft.SharePoint.PowerShell 2 3 $oldDomainName = "uat"; 4 $newDomainName = "dev"; 5 $siteUrl = "http://devteamroom/sites/JianYu" 6 7 $site = Get-SPSite $siteUrl 8 $web = $site.RootWeb; 9 $groupColl = $web.SiteGroups;10 11 foreach($group in $groupColl)12 {13 foreach($user in $group.Users)14 {15 if($user.LoginName.indexof($oldDomainName) -gt 0)16 {17 $username = $user.LoginName.Split("\\")[1];18 $group.AddUser("i:0#.w|$newDomainName\$username","","","");19 $group.RemoveUser($user);20 write-host $username;21 }22 }23 }24 25 $web.Dispose();26 $site.Dispose(); ![]() 代碼邏輯 邏輯很簡(jiǎn)單,找到站點(diǎn),獲取頂級(jí)站點(diǎn)的所有用戶組,遍歷每一個(gè)用戶,如果還是dev環(huán)境的,就加入相同名字的生產(chǎn)環(huán)境用戶名,同時(shí)刪掉開發(fā)環(huán)境用戶; 優(yōu)點(diǎn) 執(zhí)行效率高,速度快,省去人工處理時(shí)間; 缺點(diǎn) 如果生產(chǎn)環(huán)境和開發(fā)環(huán)境的用戶名不相同,那么就無(wú)法完成替換工作; 總結(jié) 在SharePoint 2010版本中推出的PowerShell,之前自己并沒有怎么重視,但是經(jīng)歷到了2013版本,發(fā)現(xiàn)很多時(shí)候PowerShell命令行,執(zhí)行效率比服務(wù)器端對(duì)象模型高很多,尤其使用自帶Windows PowerShell ISE編輯工具,調(diào)試、使用,都非常方便。 當(dāng)然,需要的時(shí)候還可以編寫成腳本,放在Windows計(jì)劃任務(wù)中執(zhí)行。 Sharepoint 可以幫助企業(yè)用戶輕松完成日常工作。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!