Récupérer les solutions de ferme déployées

Voici une function PowerShell permettant de télécharger localement, l’ensemble des solutions de ferme déployées dans un environnement SharePoint.

function Get-Installed-Farm-Solutions([string]$SavedPath, [boolean]$Export)
{
[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”) > $null
[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint.Administration”) > $null

$mySPFarm = [Microsoft.SharePoint.Administration.SPFarm]::Local

Write-Host ” ————————————————— ”
Write-Host “Build Version:”, $mySPFarm.BuildVersion
Write-Host “Servers Number:”, $mySPFarm.Servers.count

$mySolutions = $mySPFarm.Solutions

Write-Host ” ————————————————— ”
Write-Host “Solutions Total:”, $mySolutions.count

foreach($mySolution in $mySolutions)
{
Write-Host ”   ————————————————— ”
Write-Host ”   Solution ID:”, $mySolution.SolutionID
Write-Host ”   Solution Name:”, $mySolution.Name
Write-Host ”   Solution File:”, $mySolution.SolutionFile
Write-Host ”   Solution Deployed Status:”, $mySolution.Deployed
if($Export)
{
[string]$myOutputPath = $SavedPath + $mySolution.Name
Write-Host ”   Solution exported to:”, $myOutputPath
$mySolution.SolutionFile.SaveAs($myOutputPath);

}
Write-Host ”   ————————————————— ”
}
Write-Host ” ————————————————— ”
}

Get-Installed-Farm-Solutions “D:\” $true