You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell批量删除不同SPO站点中的多个列表?

批量删除SharePoint Online多站点列表的PowerShell方案

完全可以通过PowerShell导入CSV文件批量处理,以下是具体实现步骤:

1. 准备CSV文件

确保你的CSV包含两列核心信息:SiteURL(目标SPO站点的完整URL)和ListName(要删除的列表名称),示例格式如下:

SiteURL,ListName
https://yourtenant.sharepoint.com/sites/SalesTeam,ExpiredLeads
https://yourtenant.sharepoint.com/sites/Marketing,OldCampaigns
https://yourtenant.sharepoint.com/sites/HR,ArchivedResumes

2. 安装PnP PowerShell模块

PnP模块是处理SPO操作的高效工具,先确认已安装:

# 安装模块(首次运行需执行)
Install-Module -Name PnP.PowerShell -Force -AllowClobber

3. 执行批量删除脚本

将下面的脚本保存为.ps1文件,替换CSV路径后运行:

# 导入CSV数据
$listRemovalData = Import-Csv -Path "C:\SPO\ListRemoval.csv"

# 循环处理每个站点和列表
foreach ($entry in $listRemovalData) {
    try {
        # 连接目标站点
        Connect-PnPOnline -Url $entry.SiteURL -Interactive

        # 检查列表是否存在
        $targetList = Get-PnPList -Identity $entry.ListName -ErrorAction SilentlyContinue
        if ($targetList) {
            # 直接删除空列表
            Remove-PnPList -Identity $entry.ListName -Force -ErrorAction Stop
            Write-Host "✅ 已删除站点 [$($entry.SiteURL)] 中的列表 [$($entry.ListName)]" -ForegroundColor Green
        } else {
            Write-Host "⚠️ 站点 [$($entry.SiteURL)] 中未找到列表 [$($entry.ListName)]" -ForegroundColor Yellow
        }
    } catch {
        Write-Host "❌ 处理站点 [$($entry.SiteURL)] 的列表 [$($entry.ListName)] 失败: $_" -ForegroundColor Red
    } finally {
        # 断开站点连接
        Disconnect-PnPOnline
    }
}

关键注意事项

  • 运行脚本的账号需要具备目标站点的列表删除权限(建议使用站点管理员或全局管理员账号)
  • 首次运行会弹出登录窗口,需使用对应权限的账号完成认证
  • 由于列表为空,无需额外处理列表项,直接删除即可
  • 建议先选取CSV中的1-2条数据测试脚本,确认无误后再批量执行

内容的提问来源于stack exchange,提问作者Prabhat Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 21:34:51