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

PowerShell

# 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

DOS / Batch file

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
Tags:
Database75 PowerShell200 SharePoint498 SharePoint 2007218 SQL90 SQL Server100
Potrebbe interessarti anche: