SharePoint 2013 使用 PowerShell 更新用户
在SharePoint开发中,经常会遇到网站部署,然而,当我们从开发环境,部署到正式环境以后,尤其是备份还原,所有用户组的用户,还依然是开发环境的,这时,我们就需要用PowerShell更新一下;
PowerShell命令截图:
Windows PowerShell ISE编辑工具编写PowerShell非常方便,头上的一句add是添加SharePoint的引用;
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();
代码逻辑
逻辑很简单,找到站点,获取顶级站点的所有用户组,遍历每一个用户,如果还是dev环境的,就加入相同名字的生产环境用户名,同时删掉开发环境用户;
优点
执行效率高,速度快,省去人工处理时间;
缺点
如果生产环境和开发环境的用户名不相同,那么就无法完成替换工作;
总结
在SharePoint 2010版本中推出的PowerShell,之前自己并没有怎么重视,但是经历到了2013版本,发现很多时候PowerShell命令行,执行效率比服务器端对象模型高很多,尤其使用自带Windows PowerShell ISE编辑工具,调试、使用,都非常方便。
当然,需要的时候还可以编写成脚本,放在Windows计划任务中执行。
好了,就到这里,休息,休息一下。。。
博文推荐: |
SharePoint 2013 WebPart 管理工具分享[开源] |
基于SharePoint 2013的论坛解决方案[开源] |
SharePoint 2013 学习基础系列入门教程 |
SharePoint 2013 图文开发系列之门教程 |
SharePoint Designer 学习系列入门教程 |
特:如果有SharePoint项目,欢迎邮件联系我,Email:linyu_s@163.com |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具