SharePoint:如何使用PowerShell批量删除名称以XXX开始的List?
很多时候,用户都将SharePoint作为数据存储和管理平台,长期积累,数据累加很多,以IT部门为例,为了排查系统问题,会定期将各种系统的log保存起来,这种情况下,一旦超过一定时间了,这部分数据对IT而言没有存在的价值和意义了,为了释放SharePoint平台的存储压力和资源,可能考虑如何批量清除这部分数据。
这里为大家分享一个解决方案,尝试使用PowerShell脚本来批量删除名称以XXX开始的List。
本示例,适用于SharePoint 2013,SharePoint 2016和SharePoint 2019。
具体操作步骤:
- 验证SharePoint的网站的List 信息,以名为SharePoint Logs开始的Library都是用来存储SharePoint Logs的。
-
以管理员身份打开SharePoint PowerShell,执行命令以下脚本:
$startsWith = "SharePoint Logs"
$site = Get-SPSite http://www.demo.com/sites/IT
$webs = $site.AllWebs
$need = New-Object System.Collections.ArrayListforeach ($web in $webs) {
$lists = $web.Lists
$need.clear()
for ($index = 0; $index -lt $lists.Count; $index++) {
if ($lists[$index].Title.StartsWith($startsWith)) {
$need.add($lists[$index])
}
}
foreach ($list in $need)
{
$list.Delete()
}
$web.Dispose()
}$site.Dispose()
说明:
• $startsWith = "SharePoint Logs"是预计删除的名为什么开始的Library
• $site = Get-SPSite http://www.demo.com/sites/IT 是具体的Site Collection - 4个文档库,批量被删除,命令执行成功。
大家可以根据实际需求灵活使用,若有其他疑问,欢迎线下联系。
转载于:https://blog.51cto.com/13969817/2350496