Deploy Outlook Default Font via Intune for Classic and New Outlook

Deploy a Default Font in Outlook Using Intune

Outlook Classic and New Outlook store font settings in different places. You need two separate methods to cover both.


Outlook Classic

Outlook Classic stores font settings in the registry at:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\MailSettings

The registry values you need to set are:

  • ComposeFontComplex
  • ComposeFontSimple
  • ReplyFontComplex
  • ReplyFontSimple
  • TextFontComplex
  • TextFontSimple

Step 1: Configure the font on a reference machine

  1. Open Outlook and go to File > Options > Mail > Stationery and Fonts.
  2. Set the font to Aptos, size 11 for new mail, reply/forward, and plain text.
  3. Click OK and close Outlook.

Step 2: Export the registry key

  1. Open Registry Editor.
  2. Go to HKCU\Software\Microsoft\Office\16.0\Common\MailSettings.
  3. Right-click the key and select Export.
  4. Save the file as outlook-fonts.reg.

Step 3: Edit the .reg file

Open the file in a text editor and delete any lines that start with:

  • Template
  • MarkCommentsWith

Save the file.

Step 4: Create an install script

Create a file called Install.ps1. The script should import the .reg file on the target device. Then package both files using the Microsoft Win32 Content Prep Tool.

Step 5: Create a detection script

Create Detect-Fonts.ps1. The script should read the registry values and compare them to your expected hex values. This makes sure the policy re-applies if a user changes the font later.

Note: If a user has never set a custom font, the registry keys wonโ€™t exist until your script runs. If theyโ€™ve already customized their font, the existing values wonโ€™t match your expected ones. Thatโ€™s why comparing actual hex values matters.

Step 6: Deploy as a Win32 app in Intune

Use these settings when creating the app:

Setting Value
Install behavior User
Install command %windir%\sysnative\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass .\Install.ps1
Detection method Custom script (Detect-Fonts.ps1)

New Outlook

New Outlook doesnโ€™t use the registry for font settings. Instead, it reads from Exchange Online mailbox settings. Use PowerShell to configure it.

Set the font for a single user

powershellSet-MailboxMessageConfiguration -Identity "user@domain.com" `
  -DefaultFontName "Aptos" `
  -DefaultFontSize 3

Set the font for all users

powershell$FontSettings = @{
  DefaultFontName  = "Aptos"
  DefaultFontSize  = 3
  DefaultFontColor = "#000000"
  DefaultFontFlags = "Normal"
}

Get-Mailbox -ResultSize Unlimited | ForEach-Object {
  Set-MailboxMessageConfiguration -Identity $_.PrimarySmtpAddress @FontSettings
}

Note: DefaultFontSize uses HTML sizing (1โ€“7), not points. Size 3 is roughly 11pt.


Which method do you need?

Scenario Method
Outlook Classic only Win32 app with registry import
New Outlook / OWA only Set-MailboxMessageConfiguration
Mixed environment Both methods

Classic Outlook is supported until at least 2029, so most organizations will need both methods. For ready-made scripts, see the guides at cloudinfra.net and imab.dk.

ย 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top