当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 删除 SharePoint 列表?

作者:精品下载站 日期:2024-12-14 13:42:56 浏览:12 分类:玩电脑

如何使用 PowerShell 删除 SharePoint 列表?


问题: SharePoint 场上安装的错误解决方案在包含 100 多个网站的大型网站集中的所有网站中创建了重复的列表。我们必须把它们全部移除!

要从浏览器中删除 SharePoint 列表,我们可以转到:查看所有网站内容 >> 从列表的上下文菜单中单击“删除”链接。或者,您可以进入“列表设置”>> 单击“删除此列表”以删除 SharePoint 中的列表。

[玩转系统] 如何使用 PowerShell 删除 SharePoint 列表?

但是,有 100 多个网站的特定列表需要删除。

使用 PowerShell 删除 SharePoint 列表

用于删除 SharePoint 中的列表的 PowerShell 命令:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Site collection URL 
$SiteUrl="https://your-sharepoint-site" 
$ListName = "List-Name-To-Delete"

#Get Web and List objects
$web = Get-SPWeb $SiteURL
$list = $web.Lists[$ListName]

#Reset the "Allow Deletion" Flag
$list.AllowDeletion = $true
$list.Update()

$list.Delete()

write-host "List has been deleted successfully!"

使用 PowerShell 删除 SharePoint 列表的一个行:


Get-SPWeb "https://Your-Site-URL" | Where-Object { $_.Lists.Delete([System.Guid]$_.Lists["Your-List-Name"].ID) }

SharePoint PowerShell 按 GUID 删除列表


Get-SPWeb "https://your-SharePoint-Site-URL" | Where-Object { $_.Lists.Delete([System.Guid]"{43c30f3a-f39a-4410-976c-a87bebb36e42}") }

只需将 Web URL 和 GUID 替换为您的 URL 并运行脚本即可。

让我们创建一个自定义函数来使用 PowerShell 脚本删除 SharePoint 列表。


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Custom function to delete SharePoint list or document library using powershell
Function Delete-SPList
{
    param
    (
        [string]$WebURL  = $(throw "Please Enter the Web URL!"),
        [string]$ListName = $(throw "Please Enter the List Name to Delete!")
    )
    
    #Get the Objects 
    $Web = Get-SPWeb $WebURL
    $List = $Web.lists[$ListName]
 
    if($List)
    {
        #Set Allow Delete Flag
        $list.AllowDeletion = $true
        $list.Update()

        #delete list from sharepoint using powershell - Send List to Recycle bin
        $list.Recycle()
        
        #TO permanently delete a list, Use: 
        #$List.Delete()

        Write-Host "List: $($ListName) deleted successfully from: $($WebURL)"
    }
    else
    {
        Write-Host "List: $($ListName) doesn't exist at $($WebURL)"
    }
    $web.Dispose() 
}

#Call the function to delete list
Delete-SPList "https://intranet.crescent.com" "ConfigListv1"

因此,通过循环访问站点来调用该函数:


#Site URL variable
$SiteURL ="https://intranet.crescent.com" 

#get the site collection
$Site = Get-SPSite $SiteURL

#Loop through each site in the site collection
Foreach($web in $site.Allwebs)
{
    #Call the function to delete list
    Delete-SPList $web.URL "ConfigListv1"
}

使用 PowerShell 强制删除损坏的 SharePoint 列表:
在某些情况下,当您无法从 SharePoint Web UI 中删除列表时,您需要 PowerShell 的帮助,因为列表已损坏且 SharePoint 不允许您这样做删除它,使用此脚本使用 PowerShell 删除 SharePoint 列表:使用 PowerShell 强制删除 SharePoint 中损坏的列表

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯