Home‎ > ‎

SharePoint 2010 PowerShell: List all Web Applications deployed solutions

posted Aug 31, 2015, 3:05 AM by Benny Skogberg
When you need to know which wsp solution is deployed to which Web Application the following script can be of use. 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:

# Get all installed solutions per web application

$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.
Comments