如何使用 PowerShell 从 SharePoint Online 中的新式页面中删除 Web 部件?
要求:从 SharePoint Online 的新式页面中删除 Web 部件。
如何从 SharePoint Online 页面中删除 Web 部件?
在 SharePoint Online 中,如果您不再需要页面上的特定 Web 部件,可以通过编辑页面然后删除 Web 部件来将其删除。这个过程比较简单,只需要几个步骤。在本博文中,我们将向您展示如何使用浏览器和 PowerShell 从 SharePoint Online 页面中删除 Web 部件。
要从 SharePoint Online 页面中删除 Web 部件,请执行以下步骤:
- 登录到您的 SharePoint Online 网站 >> 导航到要删除 Web 部件的页面。
单击页面右上角的“编辑”按钮。
-
通过将光标放在要删除的 Web 部件上来选择 Web 部件 >> 单击删除按钮从页面中删除 Web 部件。
- 单击“重新发布”按钮保存更改。
PnP PowerShell 从 SharePoint Online 页面删除 Web 部件
您还可以使用 PowerShell 从新式页面中删除 Web 部件。如果您想从多个页面中删除 Web 部件,这会很方便。其做法如下:
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$PageName ="Branding-Templates.aspx"
$InstanceId = "56a09c21-3cd8-4fc8-8967-6a950f0c8738"
#Connect to the site
Connect-PnPOnline -Url $SiteURL -Interactive
#Remove Web Part from page
Remove-PnPPageComponent -Page $PageName -InstanceId $InstanceId -Force
您可以使用浏览器中的DevTools获取InstanceID(快捷键:F12)。
您可能并不总是知道 Web 部件实例 ID,并且在脚本中对其进行硬编码可能效率不高,不是吗?相反,让我们根据 Web 部件的类型和位置(节/列)找到它,然后将其从页面中删除:
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$PageName ="Branding-Templates.aspx"
Try {
#Connect to the site
Connect-PnPOnline -Url $SiteURL -Interactive
#Get the page
$Page= Get-PnPPage -Identity $PageName
#Get the specific Web Part from the page
$WebParts = $page.Controls
$WebPartToRemove = $WebParts | Where {$_.Type.Name -eq "PageText" -and $_.section.Order -eq 1 -and $_.column.Order -eq 1}
If($WebPartToRemove -ne $Null)
{
#Remove the Web Part from page
Remove-PnPPageComponent -Page $Page -InstanceId $WebPartToRemove.InstanceId -Force
$Page.Publish()
Write-Host "Web Part has been Removed from the page successfully!" -f Green
}
Else
{
Write-Host "Web Part Not Found!" -f Yellow
}
}
Catch [System.Exception]
{
Write-Host -f Red "Error:"$_.Exception.Message
}
此脚本尝试获取页面第一部分和第一列中的文本 Web 部件并将其删除。请注意,您可能需要相应地调整脚本中的 Web 部件类型、部分和列参数。
结论
总之,从 SharePoint Online 页面删除 Web 部件是一个简单的过程,可以通过使用 Web 浏览器界面或 PowerShell 来完成。本教程中提供的 PowerShell 脚本允许用户轻松从 SharePoint Online 页面中删除 Web 部件。通过使用 Connect-PnPOnline 和 Remove-PnPPageComponent cmdlet,用户可以指定他们想要删除的 Web 部件及其所在的页面,并且脚本将从页面中删除 Web 部件。这对于维护和更新 SharePoint Online 网站来说是一个有用的工具,因为它允许用户快速有效地删除不必要或过时的 Web 部件。


