Pergunta

Estou realizando um inventário e preciso obter uma lista de soluções sharepoint (*.wsp) implantadas em cada aplicativo da Web individual e, idealmente, também seria ótimo listar qual pool de aplicativos em qual servidor da Web esse aplicativo da Web pertence para?

Algo assim >>

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

Eu tentei usar Obter-SPSolução, mas a saída não contém o nome do aplicativo da web e Get-SPWebApplication não fornece a lista de .wsp para cada aplicativo da web listado.

stsadm -o enumsolutions parece conter informações necessárias, mas não sei como alterar o formato de saída para algo semelhante mencionado acima.

Este é o MS SharePoint Server 2010 em execução no W2K8R2 STD.

Foi útil?

Solução

Primeiro, pegue todos os seus aplicativos da web e faça uma iteração por meio deles.Enquanto estiver no loop, imprima o nome do aplicativo da web e o nome do pool de aplicativos.Por último, itere todas as soluções e imprima seus nomes - assim:

$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
        }
    }
} 

A saída é semelhante a esta:

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

O primeiro aplicativo web (SharePoint - 1337) não possui soluções implantadas, mas o segundo (SharePoint - 80) possui uma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top