вторник, 27 ноября 2012 г.

Развертывание решений SharePoint с помощью PowerShell (часть 2)

После того как мы ранее попробовали создать свой инсталяционный скрипт с нуля, я хочу привести реальный (рабочий) пример и на мой взгляд один из самых лучших скриптов от господина Octavie van Haaften

1. Установка

param([string]$url="http://intranet.octavie.local") 
 
$solutionName = "Octavie.SharePoint.Intranet.wsp"
$solutionFile = ".$solutionName"
 
$solution = Add-SPSolution $solutionFile
 
if ( $solution.ContainsWebApplicationResource ) { 
    Write-Host -ForegroundColor Green "Deploying $solutionName to $url"
    Install-SPSolution -Identity $solutionName -GacDeployment -CasPolicies -Force -Webapplication $url
} 
else { 
    Write-Host -ForegroundColor Green "Deploying $solutionName"
    Install-SPSolution -Identity $solutionName -GacDeployment -CasPolicies -Force
} 
 
$solution = Get-SPSolution $solutionName
 
if ($solution.Deployed -eq $false ) { 
    $counter = 1 
    $maximum = 50 
    $sleeptime = 2 
    while( ($solution.JobExists -eq $true ) -and ( $counter -lt $maximum  ) ) { 
        write-host -ForegroundColor yellow "Please wait..."
        sleep $sleeptime
        $counter++ 
    } 
} 
 
Write-Host ""
Write-Host -ForegroundColor Green "$solutionName is deployed"  

2. Удаление
 
param([string]$url="http://intranet.octavie.local") 
 
$solutionName = "Octavie.SharePoint.Intranet.wsp"
 
$solution = Get-SPSolution $solutionName
 
Write-Host -ForegroundColor Green "Removing $solutionName"
Write-Host ""
 
if( $solution.Deployed -eq $true) { 
 
    if ( $solution.ContainsWebApplicationResource ) { 
        Uninstall-SPSolution -Identity $solutionName -Confirm:$false -Webapplication $url
    } 
    else { 
        Uninstall-SPSolution -Identity $solutionName -Confirm:$false
    } 
    $counter = 1 
    $maximum = 50 
    $sleeptime = 2 
    while( $solution.JobExists -and ( $counter -lt $maximum ) ) { 
        Write-Host -ForegroundColor yellow "Retracting $solutionName. Please wait..."
        sleep $sleeptime
        $counter++ 
    } 
} 
 
Write-Host ""
Write-Host -ForegroundColor Green "$solutionName is retracted."
Write-Host ""
 
Remove-SPSolution -Identity $solutionName -Force -Confirm:$false
 
Write-Host -ForegroundColor Green "$solutionName removed." 
 
Продолжение следует...  

Комментариев нет:

Отправить комментарий