Post-install scripting fun

December 26, 2010 in Uncategorized

Recently I’ve tested http://autospinstaller.codeplex.com/ from @brianlala to build new SharePoint farms.  It’s a wonderful script and a great way to learn SharePoint cmdlets with real examples.

A few more script ideas:

  • More service apps   (Access, Word, Excel, Visio, BCS, PPS)
  • Third party  (WSP, MSI, CAB, REG)

So I wrote a small script to run after Brian’s and setup these small things.   Caution:  my scripting skills are limited and the Third Party will always run (no detect if installed ) so you may not want to run this repeatedly.  Disclaimer aside, I think it’s pretty cool.  I plan to use this and thought others might find it helpful too.   I will update this blog post as needed and cross link to CodePlex.  Please leave a comment with feedback!   Smile

 


Download Now:

Post script by SPJeff.ps1

 

image

 

image

image

image

 

 

Write-Host -ForegroundColor White "Verifying Enterprise Edition service applications"
$hosted = Get-SPServiceApplicationPool "SharePoint Hosted Services"

If((Get-SPServiceApplication | ? {$_.GetType().ToString() -eq "Microsoft.Office.Access.Server.MossHost.AccessServerWebServiceApplication"}) -eq $null)
{
	Write-Host -ForegroundColor White " - Creating Access Service:"
	New-SPAccessServiceApplication -Name "Access SA" -ApplicationPool $hosted
	Write-Host -ForegroundColor Blue "   Complete"
} else {
	Write-Host -ForegroundColor White " - Already installed: Access Service"
}

If((Get-SPServiceApplication | ? {$_.GetType().ToString() -eq "Microsoft.SharePoint.BusinessData.SharedService.BdcServiceApplication"}) -eq $null)
{
	Write-Host -ForegroundColor White " - Creating Business Data Connectivity Service:"
	New-SPBusinessDataCatalogServiceApplication -Name "Business Data Connectivity SA" -ApplicationPool $hosted
	Write-Host -ForegroundColor Blue "   Complete"
} else {
	Write-Host -ForegroundColor White " - Already installed: Business Data Connectivity Service"
}

If((Get-SPServiceApplication | ? {$_.GetType().ToString() -eq "Microsoft.Office.Excel.Server.MossHost.ExcelServerWebServiceApplication"}) -eq $null)
{
	Write-Host -ForegroundColor White " - Creating Excel Service:"
	New-SPExcelServiceApplication -Name "Excel SA" -ApplicationPool $hosted
	Write-Host -ForegroundColor Blue "   Complete"
} else {
	Write-Host -ForegroundColor White " - Already installed: Excel Service"
}

If((Get-SPServiceApplication | ? {$_.GetType().ToString() -eq "Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplication"}) -eq $null)
{
	Write-Host -ForegroundColor White " - Creating Performance Point Service:"
	New-SPPerformancePointServiceApplication -Name "PerformancePoint SA" -ApplicationPool $hosted
	New-SPPerformancePointServiceApplicationProxy -Name "PerformancePoint SA Proxy" -ServiceApplication "PerformancePoint SA"
	Write-Host -ForegroundColor Blue "   Complete"
} else {
	Write-Host -ForegroundColor White " - Already installed: PerformancePoint Service"
}

If((Get-SPServiceApplication | ? {$_.GetType().ToString() -eq "Microsoft.Office.Visio.Server.Administration.VisioGraphicsServiceApplication"}) -eq $null)
{
	Write-Host -ForegroundColor White " - Creating Visio Service:"
	New-SPVisioServiceApplication -Name "Visio SA" -ApplicationPool $hosted
	New-SPVisioServiceApplicationProxy -Name "Visio SA Proxy" -ServiceApplication "Visio SA"
	Write-Host -ForegroundColor Blue "   Complete"
} else {
	Write-Host -ForegroundColor White " - Already installed: Visio Service"
}

If((Get-SPServiceApplication | ? {$_.GetType().ToString() -eq "Microsoft.Office.Word.Server.Service.WordServiceApplication"}) -eq $null)
{
	Write-Host -ForegroundColor White " - Creating Word Service:"
	New-SPWordConversionServiceApplication -Name "Word SA" -ApplicationPool $hosted
	Write-Host -ForegroundColor Blue "   Complete"
} else {
	Write-Host -ForegroundColor White " - Already installed: Word Service"
}

Write-Host -ForegroundColor White "Verifying .REG extras"
foreach ($reg in Get-Childitem "REG" -include *.REG -recurse)
{
	Write-Host -ForegroundColor White " - Loading "$reg
	Start-Process -Wait -NoNewWindow -FilePath regedit.exe -ArgumentList "/s `"$reg`""
}

Write-Host -ForegroundColor White "Verifying .MSI extras"
foreach ($msi in Get-Childitem "MSI" -include *.MSI -recurse)
{
	Write-Host -ForegroundColor White " - Loading "$msi
	Start-Process -Wait -NoNewWindow -FilePath msiexec.exe -ArgumentList "/i `"$msi`" /qb"
}

Write-Host -ForegroundColor White "Verifying .CAB extras"
foreach ($cab in Get-Childitem "CAB" -include *.CAB -recurse)
{
	Write-Host -ForegroundColor White " - Loading "$cab
	Start-Process -Wait -NoNewWindow -FilePath stsadm.exe -ArgumentList "-o addwppack -filename `"$cab`""
}

Write-Host -ForegroundColor White "Verifying .WSP extras"
foreach ($wsp in Get-Childitem "WSP" -include *.WSP -recurse)
{
	Write-Host -ForegroundColor White " - Loading "$wsp
	Start-Process -Wait -NoNewWindow -FilePath stsadm.exe -ArgumentList "-o addsolution -filename `"$wsp`""
}