Office Update Utility

Office Update Manager

     ___  __  __ _                            _       _
    /___\/ _|/ _(_) ___ ___   /\ /\ _ __   __| | __ _| |_ ___
   //  // |_| |_| |/ __/ _ \ / / \ \ '_ \ / _  |/ _  | __/ _ \  
  / \_//|  _|  _| | (_|  __/ \ \_/ / |_) | (_| | (_| | ||  __/  
  \___/ |_| |_| |_|\___\___|  \___/| .__/ \__,_|\__,_|\__\___|  
         _   _ _ _ _
   /\ /\| |_(_) (_) |_ _   _
  / / \ \ __| | | | __| | | |           3 6 5
  \ \_/ / |_| | | | |_| |_| |          2 0 1 9
   \___/ \__|_|_|_|\__|\__, |        Click-to-Run

    Mike Galvin    Version 2020.03.01 +

For full instructions and documentation, visit my site.

Please consider donating to support my work:

Office Update Utility can also be downloaded from:

Tweet me if you have questions: @mikegalvin_

TechNet no longer reliably notifies me of any feedback so please send feeback to my site or my twitter, thank you.


Features and Requirements

Folder Structure

This utility requires a specific folder structure in order to operate, it expects the Office Deployment Tool and the configuration xml file to be in the same folder. Additionally, the source path of the Office installation files in the configuration xml file should be set to the same location. For example:

This configuration will result in the Office update files being downloaded and stored in: \\server\share\Office-2019-x64\Office\Data.

Generating A Password File

The password used for SMTP server authentication must be in an encrypted text file. To generate the password file, run the following command in PowerShell on the computer and logged in with the user that will be running the utility. When you run the command, you will be prompted for a username and password. Enter the username and password you want to use to authenticate to your SMTP server.

Please note: This is only required if you need to authenticate to the SMTP server when send the log via e-mail.

$creds = Get-Credential
$creds.Password | ConvertFrom-SecureString | Set-Content c:\scripts\ps-script-pwd.txt

After running the commands, you will have a text file containing the encrypted password. When configuring the -Pwd switch enter the path and file name of this file.


Here’s a list of all the command line switches and example configurations.

Command Line Switch Description Example
-Office The folder containing the Office Deployment Tool (ODT). \\server\share\office-365-x64\setup.exe
-Config The name of the configuration xml file for the Office ODT. It must be located in the same folder as the ODT. config-365-x64.xml
-Days The number of days that you wish to keep old update files for. If you do not configure this option, no old files will be removed. 30
-NoBanner Use this option to hide the ASCII art title in the console. N/A
-L The path to output the log file to. The file name will be Office-Update_YYYY-MM-dd_HH-mm-ss.log. Do not add a trailing \ backslash. C:\scripts\logs
-Subject The subject line for the e-mail log. Encapsulate with single or double quotes. If no subject is specified, the default of "Office Update Utility Log" will be used. 'Server: Notification'
-SendTo The e-mail address the log should be sent to.
-From The e-mail address the log should be sent from.
-Smtp The DNS name or IP address of the SMTP server. OR
-User The user account to authenticate to the SMTP server.
-Pwd The txt file containing the encrypted password for SMTP authentication. C:\scripts\ps-script-pwd.txt
-UseSsl Configures the utility to connect to the SMTP server using SSL. N/A


Office-Update.ps1 -Office \\Apps01\Software\Office365 -Config config-365-x64.xml -Days 30 -L C:\scripts\logs -Subject 'Server: Office Update' -SendTo -From -Smtp -User -Pwd P@ssw0rd -UseSsl

The above command will download any Office updates for the version and channel configured in config-365-x64.xml to the Office files directory \\Apps01\Software\Office365. Any update files older than 30 days will be removed. If the download is successful the log file will be output to C:\scripts\logs and e-mailed with a custom subject line.