Búsqueda de sitios web

SharePoint Online: eliminar elemento web de la página mediante PowerShell


Requisito: Eliminar un elemento web de una página en SharePoint Online mediante PowerShell.

¿Cómo eliminar un elemento web de una página de SharePoint Online?

Los elementos web son widgets para mostrar información, agregar funcionalidad comercial, implementar el proceso, actuar como una interfaz para bases de datos o proporcionar cualquier otra funcionalidad específica de la aplicación. Los elementos web de una página de SharePoint Online se pueden eliminar si ya no son necesarios. Puede eliminar un elemento web de la siguiente manera:

  1. Navegue a la página donde está ubicado el elemento web >> Haga clic en Editar página en el menú de configuración.
  2. Seleccione la opción Eliminar en el menú desplegable del elemento web y confirme el mensaje.
  3. Esto elimina el elemento web de la página.

PowerShell para eliminar un elemento web de una página en SharePoint Online:

Tenemos un elemento web de editor de scripts, titulado "Google Analytics Script" en la página de SharePoint Online y tenemos el requisito de eliminarlo mediante PowerShell.


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#function to remove a web part from SharePoint Online page
Function Remove-SPOWebpartFromPage([String]$SiteURL,[String]$PageRelativeURL,[String]$WebPartTitle, [PSCredential]$Cred)
{ 
     Try
     {
        #Setup Credentials to connect
        $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
  
        #Set up the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Credentials
  
        #Get the web parts from the given web page
        $Web = $Ctx.web
        $Ctx.Load($Web)
        $Page= $Web.GetFileByServerRelativeUrl($PageRelativeURL)
        $WPM = $Page.GetLimitedWebPartManager("Shared")
        $Ctx.Load($WPM)
        $WebParts = $WPM.WebParts
        $Ctx.Load($WebParts)
        $Ctx.ExecuteQuery()
        write-host "Loaded web parts..."

        Write-host "Searching Web parts..."
        #Get the Web part ID to remove
        $WebPartID=[string]::Empty
        ForEach($WebPart in $WebParts)
        {
            #Get Web part properties
            $Ctx.Load($Webpart.WebPart.Properties)
            $Ctx.ExecuteQuery()            
            If($Webpart.WebPart.Properties.FieldValues["Title"] -eq $WebPartTitle)
            {
                $WebPartID = $Webpart.ID
            }
        }

        If($WebPartID -ne [string]::Empty)
        {
            $WebpartToRemove=$WPM.WebParts.GetById($WebPartID)
            $WebpartToRemove.DeleteWebPart()
            $Ctx.ExecuteQuery()
            write-host -f Green "Web Part '$($WebpartTitle)' has been removed!"
        }
        else
        {
            write-host -f Yellow "Web Part '$($WebpartTitle)' not found!"
        }        
   }
    Catch [System.Exception]
    {
        Write-Host -f Red $_.Exception.Message
    } 
} 

#Config parameters
$SiteURL = "https://crescent.sharepoint.com/"
$PageRelativeURL="/Sites/Marketing/SitePages/Home.aspx"
$WebPartTitle="Google Analytics Script"

#Get credentials to connect to 
$Credentials = Get-Credential

#Call the function to remove the web part from page
Remove-SPOWebpartFromPage -SiteURL $SiteURL -PageRelativeURL $PageRelativeURL -WebPartTitle $WebpartTitle -Cred $Credentials

Eliminar elemento web mediante ID de elemento web:
El script anterior elimina el elemento web de la página desde el título del elemento web. Sin embargo, si conoce el ID del elemento web, puede eliminarlo simplemente de la siguiente manera:


$WebPartID="a4877b9b-24b6-4a8d-8da1-95c36454fd5c"
$Webpart=$wpm.WebParts.GetById($webPartID)
$Webpart.DeleteWebPart()

Para eliminar un elemento web de una página moderna de SharePoint Online, utilice: ¿Cómo eliminar un elemento web de una página moderna de SharePoint Online usando PowerShell?

Artículos relacionados