如何删除不同 SPO 站点中的多个列表?

问题描述 投票:0回答:1

我正在尝试找到一种方法来删除在不同 SPO 站点上为某项任务创建的多个列表。

我已将列表名称和站点保存在 csv 文件中。有没有办法使用 PowerShell 逐一导入 csv 文件、对站点及其列表进行操作?

这些是空列表,因此不存在删除项目的要求。

powershell sharepoint-online
1个回答
0
投票

您可以使用 PowerShell 来执行此操作。 您需要使用以下任一模块:

SharePointPnPPowerShellOnline(旧版、WindowsPowerShell、https://www.powershellgallery.com/packages/SharePointPnPPowerShellOnline

PnP.PowerShell(推荐,Powershell 7,https://www.powershellgallery.com/packages/pnp.powershell

关于后者的文档是最新的: https://pnp.github.io/powershell/articles/installation.html

对于代码,我假设您有一个具有以下格式的 CSV 文件:

SiteUrl,ListName
https://yourtenant.sharepoint.com/sites/site1,Documents
https://yourtenant.sharepoint.com/sites/site2,TestList

要加载 CSV 文件、循环行、连接到目标站点并删除目标列表,您可以使用以下脚本(假设您使用 PnP.PowerShell 模块)。

#Import the PnP.PowerShell module
Import-Module PnP.PowerShell

#Define the path to the CSV file
$CSVFilePath = "C:\PathToYoutFile\CSVFile.csv"
$csv = Import-Csv -Path $CSVFilePath

#Loop through the CSV rows
foreach ($entry in $csv) {
    $SiteUrl = $entry.SiteUrl
    $ListName = $entry.ListName
    Write-Output "Working on Site '$SiteUrl', List '$ListName'"
    try {
        #Connect to the target SiteCollection / Subweb
        $null = Connect-PnPOnline -Url $SiteUrl -Interactive
        Write-Output "Deleting List '$ListName'"
        #Delete the List
        $null = Remove-PnPList -Identity $ListName -Force -ErrorAction Stop
    }
    catch {
        Write-Warning "Failed to Connect and/or delete List. Error:"
        Write-Output $_
    }
}

如果您使用 SharePointPnPPowerShellOnline,请将导入模块行替换为

Import-Module SharePointPnPPowerShellOnline

以及 Connect-PnPOnline 线

$null = Connect-PnPOnline -Url $SiteUrl -UseWebLogin
© www.soinside.com 2019 - 2024. All rights reserved.