Introduzione

A volte potrebbe essere necessario scaricare il file o i files .WSP corrispondenti ad una solution o ad un insieme di solutions installate e ditribuite in una farm SharePoint: PowerShell consente di ottenere questo risultato eseguendo pochi semplici comandi.
Per poter eseguire con successo questi comandi, l'account utente utilizzato dev'essere membro del gruppo dei the Farm Administrators per la farm SharePoint e deve disporre dei permessi necessari sul database di configurazione della farm.

Esecuzione

Accedere ad uno dei server della farm SharePoint, aprire una SharePoint Management Shell amministrativa, ottenere un riferimento alla farm e memorizzarlo in una variablie utilizzando il cmdlet Get-SPFarm

$farm = Get-SPFarm

La variabile $farm (un oggetto della classe SPFarm) contiene un riferimento alla farm SharePoint.
Successivamente, ottenere un riferimento al file che rappresenta la soluzione SharePoint che si desidera scaricare e memorizzarlo in una variabile come indicato di seguito

$file = $farm.Solutions.Item("MySolution.wsp").SolutionFile

L'oggetto indicato dalla variabile $file contiene un riferimento al file della soluzione ricavato indicizzando l'insieme delle soluzioni installate e distribuite nella farm (rappresentato dalla property SPFarm.Solutions, un oggetto della classe SPSolutionCollection).
Quindi, l'oggetto corrispondente al file .WSP contenente il package della soluzione viene scritto su disco utilizzando il metodo SaveAs nel modo seguente

$File.SaveAs("C:\Temp\MySolution.wsp")

La procedura permette di eseguire il download sia di soluzione full trust che sandboxed.