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.
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.
No comments:
Post a Comment