Microsoft MVP

Email y Rss

email rss

Klout

Seguidores en facebook

Timeline de mi Twitter

Tienes preguntas?

Ideas de un Conejo
Más allá de los sistemas de información: (C#)=> videojuegos, soluciones a problemas interesantes y Sistemas Operativos
XNA
C#
Sistemas Operativos
Varios
Windows Phone
WinRT
XAML
Azure
HTML 5
Acerca de

Como eliminar un .webpart de SharePoint 2010 que no se borra despues de desinstalar la solución via PowerShell

March 23rd, 2011 by JuanK

Follow @JuanKRuiz

Como lo comenté en un artículo anterior una vez se desinstala una solución que contiene un .webpart por alguna razón este .webpart persiste en la Galería de elementos web de SharePoint 2010, para borrarlo hay que utilizar un poco de ‘astucia’ de desarrollador utilizando PowerShell.

 

He creado este sencillo script de PowerShell el cual con solo indicar el url del sitio y el nombre del .webpart es capaz de encontrarlo y borrarlo.

Para mayor funcionalidad el nombre del .webpart lo he dejado como una cadena de expresiones regulares de tal forma que podamos hacer una selección más fléxible delos .webpart que deseamos remover.

 

Como todo, no es perfecto, es susceptible de mejora, una primera mejora sería hacerlo independiente del idioma ya que el nombre de la galería esta establecido por defecto en español pero cambia si utilizas la versión en inglés o en otro idioma.

 

Acá les dejo el script que sin lugar a dudas sacara de apuros a más de uno al rededor de la web.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.WebPartPages")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Publishing")


$url = Read-Host "Ingrese el nombre del servidor"
$wps = Read-Host "Escriba el patrón del webpart"

$SPSite = New-Object Microsoft.SharePoint.SPSite($url)


$SPWeb = $SPSite.OpenWeb()
$WebPartGallery = $SPWeb.Lists["Galería de elementos web"]

$gall = $WebPartGallery.Items | select Name

$count = $gall.Count
$count
for ( $i =0; $i -lt $count;$i++)
{  
    Write-Host "Actual:" $gall[$i].Name  
    if ($gall[$i].Name -match $wps)
    {
        Write-Host "found"
        $WebPartGallery.Items.Delete($i)
        $SPWeb.Update()
        Write-Host "$wp borrado"
    }
}
$SPWeb.Dispose()

 

Un ejemplo de uso para eliminar el .webpart del que hablamos en este artículo “Como instalar una solución (.wsp) de SharePoint 2010 via PowerShell” es

.\borrarWebpart.ps1

GAC    Version        Location
---    -------        --------
True   v2.0.50727     C:\Windows\assembly\GAC_MSIL\Microsoft.SharePoint\14.0.0.0__71e9bce111e9429c\Microsoft.SharePo...
Ingrese el nombre del servidor: http://localhost
Escriba el patrón del webpart: ^TestWeb.*$
11
Actual: MSContentEditor.dwp
Actual: MSPageViewer.dwp
Actual: MSImage.dwp
Actual: MSMembers.dwp
Actual: MSSimpleForm.dwp
Actual: MSUserDocs.dwp
Actual: MSUserTasks.dwp
Actual: MSXml.dwp
Actual: MSPictureLibrarySlideshow.webpart
Actual: Silverlight.webpart
Actual: TestWebPart_VisualWebPart1.webpart
found
 borrado

Estoy imaginando muchas sonrrisas en este momento ! XD

Print Friendly

Follow @JuanKRuiz

  • 4 Comentarios »
  • Publicado en la categoría 'PowerShell, SharePoint'

4 comentarios to “Como eliminar un .webpart de SharePoint 2010 que no se borra despues de desinstalar la solución via PowerShell ”


  • Ideas de un Conejo Says:
    April 24th, 2011 at 9:51 pm  

    [...] Como eliminar un .webpart de SharePoint 2010 que no se borra despues de desinstalar la soluci&oacute… [...]

  • claudrocker Says:
    November 22nd, 2011 at 8:46 am  

    Eres un master jedi!!! hace tiempo que tengo unos custom webparts rebeldes que no los podia eliminar de ninguna forma!
    Muchas gracias!

  • laureano adriano Says:
    March 13th, 2012 at 4:34 pm  

    hola se ve bien el post quisiera saber como hago para ejecutarlo no entiendo como empezar a ejecuatr el script si lo pudieras poner paso a paso seria mejor para todos los principiantes como yo.

    gracias de antemano.

  • JuanK Says:
    March 13th, 2012 at 4:37 pm  

    Te recomiendo que revises otros articulos de este blog acerca de powershell, es la mejor forma de aprender.

Deja un comentario

Redes Sociales

Follow @JuanKRuiz
Answer Questions

Busca en el blog

Artículos Relacionados

  • Como instalar una solución (.wsp) de SharePoint 2010 via PowerShell
  • Porqué mis soluciones de SharePoint instaladas por PowerShell no se ven en la galería de soluciones?
  • Artículos Relacionados

  • Como instalar una solución (.wsp) de SharePoint 2010 via PowerShell
  • Porqué mis soluciones de SharePoint instaladas por PowerShell no se ven en la galería de soluciones?
  • Nube de Temas

    API - Azure - C# - codigo - Forms - IE - IE9 - Image - imagenes - IT - Microsoft - MVP - Pinned - PowerShell - Proceso - rendimiento - RSS - sistema - Sistemas Operativos - Site - Visual - WCF - Windows - Windows 8 - Windows Store - WinRT - WndProc - WPF - XAML - XNA

    Blogs recomendados

  • VBCodigoPocketPC Espacio para tratar temas de programacion para dispositivos moviles, Pocket PC, Compact Framework, Embbeded Visual Basic, Visual Basic.NET , C# (C Sharp)
  • Róbinson Moscoso Estaré publicando acá cosas sobre tecnologia .NET, situacioines cotidianas de las que voy aprendiendo… sirve como extensión de memoria.
  • .Net C# Blog de Nelsón Venegas
  • Warnov Microsoft Developer Evangelist
  • IT LIfe Blog de mi Hermano que esta en el lado claro: IT
  • Sorey Garcia Una chica del común con la firme intención de no serlo
  • Black Byte videojuegos, modelado y animación 3d
  • Road to IT World Cosas interesantes de IT
  • Marcela Chitiva Un poco de esto… un poco de aquello
  • Surviving the Nigth El mejor blog para aquellos que nos gustan los “internals”
  • Meta

    1. Log in
    2. WordPress

    Ideas de un Conejo is powered by Wordpress. Theme designed by Juan Carlos Ruiz.