71 lines
2.4 KiB
PowerShell
71 lines
2.4 KiB
PowerShell
# $COMPANY must be supplied by RMM
|
|
$PRODUCT = 'O365ProPlusRetail'
|
|
$BITNESS = '64'
|
|
$MIGARCH = 'TRUE'
|
|
$CHANNEL = 'SemiAnnual'
|
|
$UPDATES = 'TRUE'
|
|
$DISPLAY = 'None' # "None", "Full"
|
|
$ACCEULA = 'TRUE'
|
|
|
|
# Make changes if the system is 32bit
|
|
If ( !(Is64Bit) ) { $BITNESS = '32'; $MIGARCH = 'FALSE' }
|
|
|
|
$CONFIG = @"
|
|
<Configuration ID="e59fdca7-843c-4bee-8edf-33b4f8fb750f">
|
|
<Add OfficeClientEdition="${BITNESS}" Channel="${CHANNEL}" MigrateArch="${MIGARCH}">
|
|
<Product ID="${PRODUCT}">
|
|
<Language ID="en-us" />
|
|
<ExcludeApp ID="Groove" />
|
|
<ExcludeApp ID="Lync" />
|
|
</Product>
|
|
</Add>
|
|
<Property Name="SharedComputerLicensing" Value="0" />
|
|
<Property Name="FORCEAPPSHUTDOWN" Value="TRUE" />
|
|
<Property Name="DeviceBasedLicensing" Value="0" />
|
|
<Property Name="SCLCacheOverride" Value="0" />
|
|
<Updates Enabled="${UPDATES}" Channel="${CHANNEL}" />
|
|
<RemoveMSI />
|
|
<Display Level="${DISPLAY}" AcceptEULA="${ACCEULA}" />
|
|
<AppSettings>
|
|
<Setup Name="Company" Value="${COMPANY}" />
|
|
</AppSettings>
|
|
</Configuration>
|
|
"@
|
|
|
|
# Set path to temp directory
|
|
$TEMPDIR = '{0}microsoft-office-deployment' -f (Get-TempPath)
|
|
|
|
# Recursively delete $TEMPDIR if it already exists
|
|
If ( Test-Path $TEMPDIR ) {
|
|
Write-Output """${TEMPDIR}"" already exists and will be deleted"
|
|
Try { Remove-Item -Path $TEMPDIR -Recurse -Force -ErrorAction SilentlyContinue }
|
|
Catch { Write-Error $_.Exception.Message }
|
|
}
|
|
|
|
# Create $TEMPDIR
|
|
Write-Output "Creating: ${TEMPDIR}"
|
|
Try { New-Item -Path $TEMPDIR -ItemType Directory -Force -ErrorAction Stop }
|
|
Catch { Write-Error $_.Exception.Message ; Return }
|
|
|
|
# Write $CONFIG to config.xml
|
|
$CONFIGFILE = "${TEMPDIR}\config.xml"
|
|
Try { $CONFIG | WriteToFile_UTF8NoBOM -FilePath "${CONFIGFILE}" }
|
|
Catch { Write-Output "Cannot write configuration file! This script will exit." ; Write-Error $_.Exception.Message ; Return }
|
|
|
|
# Set the name of ODT setup utility
|
|
$ODT = "${TEMPDIR}\setup.exe"
|
|
|
|
# Download ODT
|
|
Write-Output "Downloading Office Deployment Tool"
|
|
Download-File -URL 'https://www.emberkom.com/odt/setup.exe' -File $ODT
|
|
|
|
# Install Office
|
|
Write-Output "Installing Microsoft Office"
|
|
Try { Start-Process $ODT -ArgumentList "/configure ""${CONFIGFILE}""" -Wait }
|
|
Catch { Write-Error $_.Exception.Message }
|
|
|
|
# Cleanup
|
|
Write-Output "Deleting temp directory and its contents"
|
|
Try { Remove-Item -Path $TEMPDIR -Recurse -Force -ErrorAction SilentlyContinue }
|
|
Catch { Write-Error $_.Exception.Message }
|