Alex's answer (iterar a través de sitios -> páginas> elementos web) es una buena y la forma "correcta" de hacerlo, pero es bastante costosa en un sitio muy grande.
Una alternativa es una consulta de base de datos. Todas las advertencias habituales se refieren al acceso directo a la base de datos: no cambie nada, podría romperse en cualquier momento con service packs, etc., pero suponiendo que todos somos grandes aquí: -
Primero debe averiguar el WebPartTypeId del la parte web está interesado en
A continuación, ejecute esto en TODAS las bases de datos de contenido.
SELECT DISTINCT D.SiteID, D.WebId, W.FullURL as WebURL, D.Id As DocumentId,
D.DirName, D.LeafName, tp_ID As WebPartSK
FROM dbo.Docs D WITH (nolock)
INNER JOIN dbo.Webs W WITH (nolock) ON D.WebID = W.Id
INNER JOIN dbo.WebParts WP WITH (nolock) ON D.Id = WP.tp_PageUrlID
WHERE WP.tp_ListId Is Null AND WP.tp_Type Is Null AND WP.tp_Flags Is Null
AND WP.tp_BaseViewID Is Null AND WP.tp_DisplayName Is Null
AND WP.tp_Version Is Null
AND WP.tp_WebPartTypeId='<your web parts id>'
Usted puede hacer esto al revés (obtener una lista de todos los de WebPartTypeId en uso), pero no se puede obtener el nombre del ensamblado a partir del hash WebPartTypeId por lo que tendría que hacer algún tipo de lista de búsqueda de web parts> typeid's.
@Ryan: No sabemos @ fondo de Active_t así que tenga cuidado acerca de las suposiciones ;-) Cuando se lee desde la base de datos con NOLOCK es esencial para evitar los puntos muertos y hay que aceptar que los resultados pueden ser inexactos. ¡Disculpas si predicas a los conversos! –
He editado para agregar la sugerencia de no bloqueo pero debemos recordar que no es una bala de oro e introduce problemas potenciales propios (datos en estado incoherente). ¿Tiene alguna buena referencia sobre la posibilidad de causar bloqueos? Sería bueno obtener algunas respuestas definitivas sobre eso, pero no es sorprendente que la línea oficial sea ... no. – Ryan
Dicho esto, los problemas que causaría la lectura de datos inconsistentes en este ejemplo probablemente sean bastante pequeños. – Ryan