From 5f30e46f48b7e8341a8d847a82d26c3f537bbdf0 Mon Sep 17 00:00:00 2001 From: Paul Cunningham Date: Thu, 22 Sep 2016 15:09:22 +1000 Subject: [PATCH] Added initial script version --- Install-OfficeCTR.ps1 | 98 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 Install-OfficeCTR.ps1 diff --git a/Install-OfficeCTR.ps1 b/Install-OfficeCTR.ps1 new file mode 100644 index 0000000..308d461 --- /dev/null +++ b/Install-OfficeCTR.ps1 @@ -0,0 +1,98 @@ +<# +.SYNOPSIS +Install-OfficeCTR.ps1 - Office 365 CTR Install Script + +.DESCRIPTION +This PowerShell script will install Office 365 Click-to-Run on +client computers. + +This script is designed to work with Office 2016 builds of +Office 365 CTR, not Office 2013. + +Before using this script you should set up an shared folder for +your Office 365 CTR deployments by following the instructions +at http://practical365.com + +.PARAMETER InstallRoot +Specify the UNC path to the network share that hosts the Office 365 +setup and configuration files. + +.PARAMETER OfficeVersion +Specify the Office CTR version to deploy (e.g. 2013, or 2016) + +.PARAMETER SKU +Specify the the Office CTR SKU to deploy (e.g. ProPlus, Business) + +.PARAMETER + +.EXAMPLE +.\Verb-NounsAndThings.ps1 +What does this example do... + +.NOTES +Written by: Paul Cunningham + +Find me on: + +* My Blog: http://paulcunningham.me +* Twitter: https://twitter.com/paulcunningham +* LinkedIn: http://au.linkedin.com/in/cunninghamp/ +* Github: https://github.com/cunninghamp + +For more Office 365 tips, tricks and news +check out Practical365. + +* Website: http://practical365.com +* Twitter: http://twitter.com/practical365 + +Change Log +V1.00, 22/09/2016 - Comment +#> + +#requires -version 4 + + +[CmdletBinding()] +param ( + + [Parameter(Mandatory=$true)] + [switch]$InstallRoot, + + [Parameter(Mandatory=$true)] + [ValidateSet('Business','ProPlus', ignorecase=$False)] + [string]$SKU, + + [Parameter(Mandatory=$false)] + [ValidateSet('Current','Deferred','FirstReleaseCurrent','FirstReleaseDeferred',ignorecase=$False)] + [string]$Channel + + ) + + +$ConfigurationXML = "$($InstallRoot)\$($SKU)\$($Channel)\configuration.xml" + +try { + Test-Path $ConfigurationXML -ErrorAction STOP +} +catch { + throw "Unable to locate a configuration XML file at $($ConfigurationXML)" +} + +$setuppath = "$($InstallRoot)\$($SKU)\$($Channel)\Setup.exe" +try { + +} +catch { + throw "Unable to locate a Setup.exe file at $($setuppath)" +} + +Write-Host "Attempting to install Office 365 $($SKU) $($Channel)" +$process = Start-Process -FilePath "$($InstallRoot)\$($SKU)\$($Channel)\Setup.exe" -ArgumentList "/Configure $($InstallRoot)\$($SKU)\$($Channel)\configuration.xml" -Wait -PassThru +if ($process.ExitCode -eq 0) +{ + Write-Host -ForegroundColor Green "Office setup started without error." +} +else +{ + Write-Warning "Installer exit code $($process.ExitCode)." +}