Un esempio in
PowerShell che permette di fare il download da
SharePoint 2007 (WSS 3 - MOSS) delle solution (file WSP) contenute nel database di configurazione e salvarle in un file.
File: ExtractSolution.ps1
# se non funge lanciare prima da linea di comando
# powershell Set-ExecutionPolicy RemoteSigned
# eseguire con: powershell .\ExtractSolution.ps1 <guid> [<fileName>]
# estrae il file di solution indicato dal guid dal DB di config di SharePoint
# e lo salva in un file
[void][System.Reflection.Assembly]::LoadWithPartialName(”Microsoft.SharePoint”)
$param = $args[0]
$fileName = $args[1]
$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
$g = New-Object System.Guid($param)
$sol = $farm.Solutions[$g]
if ($fileName -eq $NULL)
{
#se non passa il nome file lo genero
$fileName = [System.String]::Format("$PWD\{0:yyyyMMdd}_{1}", [System.DateTime]::Today, $sol.Name);
}
[System.String]::Format("Farm: {0}", $farm.Name)
[System.String]::Format("Guid: {0}", $param)
[System.String]::Format("FileName: {0}", $fileName)
[System.String]::Format("Solution Name: {0}", $sol.Name)
[System.String]::Format("$SolutionId: {0}", $sol.SolutionId)
#salvo il file
$fileName;
$sol.SolutionFile.SaveAs($fileName);
eseguire come
powershell .\ExtractSolution.ps1 "44A61994-BBAE-41FD-9CCE-62B8A98747BD" $pwd\nomeFileSolution.wsp
per avere il guid delle solution installate digitare stsadm -o enumsolutions
Le solution (file .WSP) non sono altro che che dei file .CAB usati da SharePoint come pacchetti di installazione
Vedi anche
Download di un file di solution dal DB di SharePoint 2013