Automatically building a Microsoft BI machine using PowerShell – Installing SharePoint (post #11)
This post is #11 in the series to automatically build a Microsoft BI machine using PowerShell – see the start of series.
In this series so far:
Start of series – introduction and layout of subjects
Post #2 – Preparation: install files using Azure disk
Post #3 – Preparation: install files using Azure File Service
Post #4 –Preparation: logging infrastructure
Post #5 – Master script
Post #6 – Disabling Internet Explorer Enhanced Security Configuration
Post #7 – Active Directory setup
Post #8 – Configuring Password policy
Post #9 – Installing System Center Endpoint Protection
Post #10 – Installing SQL Server
Wow, so the last post was pretty intense, wasn’t it? I think we are ready for the next one: installing SharePoint. To build this script I used the following sources: http://social.technet.microsoft.com/wiki/contents/articles/14582.sharepoint-2013-install-prerequisites-offline-or-manually-on-windows-server-2012-a-comprehensive-guide.aspx#Installing_the_Roles_and_Features_for_SharePoint_2013_on_Windows_Server_2012_Offline_with_PowerShell and http://blogs.msdn.com/b/uksharepoint/archive/2013/03/18/scripted-installation-of-sharepoint-2013-and-office-web-apps-server-from-the-field-part-2.aspx.
Since this is again a quite lengthly script we will split it up in steps.
Step A: enabling IIS and other features
This step enables a whole load of features on Windows that are required by SharePoint, including IIS. If a restart is required, the script will reboot after the setup of the features. Some times your machine might reboot more than once to complete the setup of all these features.
Write-Log -Verbose "Step 6: Install SharePoint" Import-Module ServerManager #Add .Net 4.5 features Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45 #Add the rest of the needed features for IIS role $result = Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer if($result.RestartNeeded -eq "Yes") { Set-Restart-AndResume $global:script "7" }
Step B: Installing SharePoint Prerequisites
SharePoint itself has a number of prerequisites; in this still we will install them all.
#Mount SharePoint iso $mountresult = Mount-DiskImage -ImagePath $global:pathToSharePointISO -PassThru $driveLetter = ($mountresult | Get-Volume).DriveLetter Write-Log -Verbose "Installing SharePoint PreReqs...." $setupFile = $driveLetter+":\prerequisiteinstaller.exe" $process = Start-Process $setupFile -PassThru -Wait -ArgumentList "/unattended /SQLNCli:$global:SharePoint2013Path\PrerequisiteInstallerFiles\sqlncli.msi /IDFX:$global:SharePoint2013Path\PrerequisiteInstallerFiles\Windows6.1-KB974405-x64.msu /IDFX11:$global:SharePoint2013Path\PrerequisiteInstallerFiles\MicrosoftIdentityExtensions-64.msi /Sync:$global:SharePoint2013Path\PrerequisiteInstallerFiles\Synchronization.msi /AppFabric:$global:SharePoint2013Path\PrerequisiteInstallerFiles\WindowsServerAppFabricSetup_x64.exe /KB2671763:$global:SharePoint2013Path\PrerequisiteInstallerFiles\AppFabric1.1-RTM-KB2671763-x64-ENU.exe /MSIPCClient:$global:SharePoint2013Path\PrerequisiteInstallerFiles\setup_msipc_x64.msi /WCFDataServices:$global:SharePoint2013Path\PrerequisiteInstallerFiles\WcfDataServices.exe"
Step C: Installing SharePoint
SharePoint is installed in this step from the ISO that the script mounts.
if($process.ExitCode -eq 0) { #install sharepoint Write-Log -Verbose "Installing SharePoint...." $path = $driveLetter+":\Setup.exe" $sharePointInstallProcess = Start-Process -Wait -PassThru $path -ArgumentList "/config $global:SharePoint2013Path\FarmSilentConfig.xml" switch($sharePointInstallProcess.ExitCode) { 0 { Write-Log -Verbose "SharePoint successfully installed" Write-Log -Verbose "SharePoint Installed" if ($global:DoAllTasks) { Set-Restart-AndResume $global:script "8" } } default{ Write-Log -Verbose "An error has occured in installing SharePoint. Code: " $sharePointInstallProcess.ExitCode } } } else { if($process.ExitCode -eq 3010) { Write-Log -Verbose "SharePoint prereqs install requires a reboot" } else { Write-Log -Verbose "SharePoint prereqs not succesfully installed, please investigate. Code: " $process.ExitCode } }
Step D: Cleaning up
This step simply unmounts the SharePoint installation media.
Dismount-DiskImage -ImagePath $global:pathToSharePointISO
Pff, are we done yet? No! Next up: Installing PowerPivot for SharePoint.
Share this:
- Click to share on LinkedIn (Opens in new window)
- Click to share on Facebook (Opens in new window)
- Click to share on Twitter (Opens in new window)
- Click to share on Skype (Opens in new window)
- Click to share on WhatsApp (Opens in new window)
- Click to share on Pocket (Opens in new window)
- Click to share on Tumblr (Opens in new window)
- Click to share on Pinterest (Opens in new window)
- Click to share on Telegram (Opens in new window)
- Click to share on Reddit (Opens in new window)
- Click to print (Opens in new window)
- Click to email this to a friend (Opens in new window)
Related
You May Also Like

Updated: Annual Radio Countdown Top 2000 in Power BI
December 23, 2020
Passing command line settings to SQL Server Integration Services (SSIS) packages using dtexec on Linux
March 1, 2019