Pregunta

Estoy realizando un inventario y necesito obtener la lista de soluciones de SharePoint (* .WSP) implementada en todas las aplicaciones web individuales e idealmente, también sería genial enumerar qué grupo de aplicaciones en el servidor web esta web-¿La aplicación pertenece a?

algo como este >>

solution-name.wsp / web-application-name / application-pool-name

He intentado usar get-spsolution , pero la salida no contiene nombre de la aplicación web y get-spwebapplication no le da la lista de .WSP paraCada aplicación web enumerada.

stsadm -O enumsolutions parece contener información que necesito, pero no sepa cómo cambiar el formato de salida a algo similar mencionado anteriormente.

Este es el MS SharePoint Server 2010 que se ejecuta en W2K8R2 STD.

¿Fue útil?

Solución

First, get all your web applications and iterate through them. While in the loop print web application name and application pool name. Last, iterate all solutions and print their names - like this:

$contentWebAppServices = (Get-SPFarm).services |
 ? {$_.typename -eq "Microsoft SharePoint Foundation Web Application"}

foreach($webApp in $contentWebAppServices.WebApplications)
{
    Write-Host "Web Application  : " $webApp.name
    Write-Host "Application Pool : " $webApp.ApplicationPool.Name

    Get-SPSolution | ForEach-Object {
        if ($_.LastOperationDetails.IndexOf($webApp.url) -gt 0) 
        {
            Write-Host "    Solutions:"
            Write-Host "   " $_.DisplayName
        }
    }
} 

The output looks like this:

Web Application  :  SharePoint - 1337
Application Pool :  SharePoint - 1337
Web Application  :  SharePoint - 80
Application Pool :  SharePoint - 80
    Solutions:
    customer.intranet.wsp

The first web application (SharePoint - 1337) doesn't have deployed solutions, but the second (SharePoint - 80) has one.

Licenciado bajo: CC-BY-SA con atribución
scroll top