SharePoint PowerShell 清空网站集回收站

  故事

在很久很久以前,碰到过一次这样的需求,给客户做好的站点经过层层测试,需求变更在测试,历经半年时间终于要上线了。

然而,有个问题是,回收站里的东西太多太多了,作为开发人员,尤其是有强迫症的开发人员,势必要清空回收站。

那么,问题就来了,大大小小的子网站几十个,回收站里的东西全都清除一遍,没有个半天时间可能都干不完。

作为一个热(xi)爱(huan)技(tou)术(lan)的程序猿,想的是有怎样快捷的方式,让程序帮助我们完成这项任务呢?

解决方法

#Get SPSite
$Site = Get-SPSite "http://sitecollection"
 
#Delete all from 1st Stage Recycle bin in SPWeb
$Site.AllWebs | Foreach-object { $_.RecycleBin.MoveAllToSecondStage() }
 
#Empty 2nd Stage Recycle bin in SPSite
$Site.RecycleBin.DeleteAll();

其实,命令的思路很简单,就是便利每个网站,把回收站添加到网站集回收站,然后,再清空就好了。

结束语

这样一段命令就把一下午的活儿干完了,下午又能认真学习SharePoint 其他技术了,好开森。

更多常用PowerShell脚本,请关注https://github.com/linyus

相关推荐