SharePoint 2013 使用 PowerShell 更新用戶

  在SharePoint開發中,常常會遇到網站部署,然而,當咱們從開發環境,部署到正式環境之後,尤爲是備份還原,全部用戶組的用戶,還依然是開發環境的,這時,咱們就須要用PowerShell更新一下;web

  PowerShell命令截圖api

  Windows PowerShell ISE編輯工具編寫PowerShell很是方便,頭上的一句add是添加SharePoint的引用;服務器

clip_image002

  PowerShell完整代碼:工具

  PowerShell的編寫和cmd命令、C#代碼都有一些區別,尤爲是比較字符,字符串鏈接,變量等等,你們有興趣仍是能夠看看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();

  代碼邏輯spa

  邏輯很簡單,找到站點,獲取頂級站點的全部用戶組,遍歷每個用戶,若是仍是dev環境的,就加入相同名字的生產環境用戶名,同時刪掉開發環境用戶;命令行

  優勢3d

  執行效率高,速度快,省去人工處理時間;調試

  缺點code

  若是生產環境和開發環境的用戶名不相同,那麼就沒法完成替換工做;

  總結

  在SharePoint 2010版本中推出的PowerShell,以前本身並無怎麼重視,可是經歷到了2013版本,發現不少時候PowerShell命令行,執行效率比服務器端對象模型高不少,尤爲使用自帶Windows PowerShell ISE編輯工具,調試、使用,都很是方便。

  固然,須要的時候還能夠編寫成腳本,放在Windows計劃任務中執行。

  好了,就到這裏,休息,休息一下。。。

相關文章
相關標籤/搜索