Solved

Microsoft Office 365 Release Channels

  • 22 September 2023
  • 1 reply
  • 275 views

Badge

Hello,

I noticed in our Automox environment that we have a lot of client devices reporting they still need to update Microsoft Office 365 to latest version. However, we use the Semi-Annual Enterprise release channel and Automox is showing the Office version for the Current Release channel. Is there a setting or configuration I can change to make the Automox agent use a different release channel? 

 

Example of What Automox is Showing

 

https://learn.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date

 

icon

Best answer by JT.Phillips 16 October 2023, 03:22

View original

1 reply

Badge

I worked with an Automox Support Agent and came up with this as a work around. Thought I would share incase any other users are having the same issue. 

Evaluation Code

<#
.SYNOPSIS
Sets the Office Release Channel to the desired Channel.
OS Support: Windows 10 and above
Required modules: NONE
.DESCRIPTION
This worklet will set the Office Update Channel and the CDNBaseURL to the one specified by the admin.
By setting the correct CDNBaseURL, this will configure the Automox Agent to pull patches from the correct office release channel.

---------------------------------------Office Release Channels-------------------------------------------------------------------

Current: Provides users with new Office features as soon as they are ready, but on no set schedule.
FirstReleaseCurrent: Preview release of Current channel.
MonthlyEnterprise: Provides users with new Office features only once a month and on a predictable schedule.
Deferred: For select devices in your organization, where extensive testing is needed before deploying new Office features.
FirstReleaseDeferred: Preview release of Deferred channel.
InsiderFast: Beta release channel. Frequent updates. Stable builds are sent to FirstReleaseChannel.

---------------------------------------------------------------------------------------------------------------------------------

$Channel is the software update channel you would like Office to update from
.EXAMPLE
$Channel = "Current"
.NOTES
Author: John Phillips
Date: September 29th, 2023

This script is a fork of the "Configure Office Update Channel" Worklet Created by:
Author: Ben Rillie
Date: May 13, 2021
#>

########--Set Your Release Channel Below--###############
$ReleaseChannel = "Deferred"
#########################################################

#Registry Items
$OfficeUpdateBranch = "HKLM:\SOFTWARE\Policies\Microsoft\office\16.0\Common\officeupdate"
$OfficeUpdateURL = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"

$scriptBlock = {

param($RC, $REGKEY)

$CDNBaseURL = ""
switch ($RC)
{
"Current" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60"; Break}
"FirstReleaseCurrent" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/64256afe-f5d9-4f86-8936-8840a6a4f5be"; Break}
"MonthlyEnterprise" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/55336b82-a18d-4dd6-b5f6-9e5095c314a6"; Break}
"Deferred" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114"; Break}
"FirstReleaseDeferred" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf"; Break}
"InsiderFast" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/5440fd1f-7ecb-4221-8110-145efaa6372f"; Break}
Default
{
Write-Output "STOPPING WORKLET: $RC is an invalid Office channel - **No Changes Made!**"
return 1
}
}

if((Get-ItemProperty -Path $REGKEY -Name CDNBaseUrl -ErrorAction SilentlyContinue).CDNBaseUrl -eq $CDNBaseURL)
{
return 0
}
else
{
return 1
}
}

$OfficeUpdateURLResult = & "$env:SystemRoot\sysnative\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass `
-WindowStyle Hidden -NoProfile -NonInteractive -Command $scriptBlock -args $ReleaseChannel,$OfficeUpdateURL

if((Get-ItemProperty -Path $OfficeUpdateBranch -Name updatebranch -ErrorAction SilentlyContinue).updatebranch -eq $ReleaseChannel -and
$OfficeUpdateURLResult -eq 0)
{
Write-Output "Office Update Branch and CDN-BASE-URL are correct. - **No Changes Made!**"
exit 0
}
else
{
exit 1
}


Remediation Code

<#
.SYNOPSIS
Sets the Office Release Channel to the desired Channel.
OS Support: Windows 10 and above
Required modules: NONE
.DESCRIPTION
This worklet will set the Office Update Channel and the CDNBaseURL to the one specified by the admin.
By setting the correct CDNBaseURL, this will configure the Automox Agent to pull patches from the correct office release channel.
---------------------------------------Office Release Channels-------------------------------------------------------------------
Current: Provides users with new Office features as soon as they are ready, but on no set schedule.
FirstReleaseCurrent: Preview release of Current channel.
MonthlyEnterprise: Provides users with new Office features only once a month and on a predictable schedule.
Deferred: For select devices in your organization, where extensive testing is needed before deploying new Office features.
FirstReleaseDeferred: Preview release of Deferred channel.
InsiderFast: Beta release channel. Frequent updates. Stable builds are sent to FirstReleaseChannel.
---------------------------------------------------------------------------------------------------------------------------------
$Channel is the software update channel you would like Office to update from
.EXAMPLE
$Channel = "Current"
.NOTES
Author: John Phillips
Date: September 29th, 2023

This script is a fork of the "Configure Office Update Channel" Worklet Created by:
Author: Ben Rillie
Date: May 13, 2021
#>

########--Set Your Release Channel Below--###############
$ReleaseChannel = "Deferred"
#########################################################

#Registry Items
$OfficeUpdateBranch = "HKLM:\SOFTWARE\Policies\Microsoft\office\16.0\Common\officeupdate"
$OfficeUpdateURL = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"

$scriptBlock = {

param($RC, $REGKEY)

$CDNBaseURL = ""
switch ($RC)
{
"Current" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60"; Break}
"FirstReleaseCurrent" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/64256afe-f5d9-4f86-8936-8840a6a4f5be"; Break}
"MonthlyEnterprise" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/55336b82-a18d-4dd6-b5f6-9e5095c314a6"; Break}
"Deferred" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114"; Break}
"FirstReleaseDeferred" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf"; Break}
"InsiderFast" {$CDNBaseURL = "http://officecdn.microsoft.com/pr/5440fd1f-7ecb-4221-8110-145efaa6372f"; Break}
Default
{
Write-Output "STOPPING WORKLET: $RC is an invalid Office channel - **No Changes Made!**"
return 1
}
}

if(!(Test-Path $REGKEY))
{
$Results = "Registry Key Path Created: $REGKEY"
New-Item -Path $REGKEY -Force | Out-Null
}

if((Get-ItemProperty -Path $REGKEY -Name CDNBaseUrl -ErrorAction SilentlyContinue).CDNBaseUrl -eq $CDNBaseURL)
{
$Results = "Office CDN-BASE-URL is already set to $CDNBaseURL. - **No Changes Made!**"
}
else
{
$Results = "Office CDN-BASE-URL set to: $CDNBaseURL"
Set-ItemProperty -Path $REGKEY -Name CDNBaseUrl -Value $CDNBaseURL -Force | Out-Null
}

return $Results
}

$OfficeUpdateURLResult = & "$env:SystemRoot\sysnative\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass `
-WindowStyle Hidden -NoProfile -NonInteractive -Command $scriptBlock -args $ReleaseChannel,$OfficeUpdateURL

if($OfficeUpdateURLResult -eq 1)
{
Write-Output $OfficeUpdateURLResult
exit 1
}
else
{
Write-Output $OfficeUpdateURLResult
}

if(!(Test-Path $OfficeUpdateBranch))
{
Write-Output "Registry Key Path Created: $OfficeUpdateBranch"
New-Item -Path $OfficeUpdateBranch -Force | Out-Null
}

if((Get-ItemProperty -Path $OfficeUpdateBranch -Name updatebranch -ErrorAction SilentlyContinue).updatebranch -eq $ReleaseChannel)
{
Write-Output "Office Release Channel Policy is already set to $ReleaseChannel. - **No Changes Made!**"
}
else
{
Write-Output "Office Release Channel Policy set to: $ReleaseChannel"
Set-ItemProperty -Path $OfficeUpdateBranch -Name updatebranch -Value $ReleaseChannel -Force | Out-Null
}


Thanks,
John Phillips

Reply