Tuesday, April 19, 2011

SP2010 : Powershell deployment

Scenario:
We need this all the time to retract / remove / add / deploy solution.Want to know what I use ?

Solution:
Powershell

Script:

####################################################################################################
# Function
####################################################################################################

function RetractAndRemoveSolution {param ($SolutionPackageName, $DeployedGlobally)
$solution = Get-SPSolution | where-object {$_.Name -eq $SolutionPackageName}

# check to see if solution package has been installed
if ($solution -ne $null)
{
if($solution.Deployed -eq $true)
{
if( $DeployedGlobally -eq $true)
{
Uninstall-SPSolution -Identity $SolutionPackageName -Local -Confirm:$False
}
else
{
Uninstall-SPSolution -Identity $SolutionPackageName -AllWebApplications -Local -Confirm:$False
}
}

Remove-SPSolution -Identity $SolutionPackageName -Confirm:$false
}
}

###########################################################################################
# To uninstall/remove custom solutions in central administration.
###########################################################################################

Write-Host "Removing solutions"

RetractAndRemoveSolution "CustomSolution.wsp" $false
RetractAndRemoveSolution "CustomSolutionGlobal.wsp" $true

###########################################################################################
# To add/deploy custom solutions in central administration.
###########################################################################################

Write-Host "Adding Solutions"

$currentfolder = (Get-Location -PSProvider FileSystem).ProviderPath
Add-SPSolution -LiteralPath $currentfolder"\CustomSolution.wsp"

###########################################################################################
# To deploy custom solutions to newly created site collection
# ( Mainly for use in DEV only, recommended to deploy using Central Admin UI for other environments )
###########################################################################################

Write-Host "Installing Solutions"

$webInsite = "http://intranet.contoso.com"
Install-SPSolution -Identity "CustomSolution" –WebApplication $webInsite –GACDeployment

###########################################################################################
# Reset IIS / Restart Services / Exit to ensure not binary is locked with Powershell Editor
###########################################################################################

iisreset

net stop "Sharepoint Server Search 14"
net start "Sharepoint Server Search 14"

exit

0 comments: