This is a blog about how to deploy fonts via Intune. These fonts are not default available in Windows. I will show you how to deploy the fonts via a Win32App from Intune.
Prerequisites
Licenses to be able to deploy Windows 10 Autopilot machines. How do so you can follow my guide.
The IntuneWinAppUtility which you can download here.
Furthermore, you will need the font files. For example:

Preparation
For prepartion please create these files:

The “Open Sans Regular.ttf” can be your font ofcourse. Additionally, if you want to add more than 1 font you can add them here.
These files contain the following content:
Firstly, the install.cmd file:
1 2 3 |
if not exist "C:\ProgramData\InstallFonts" md "C:\ProgramData\InstallFonts" robocopy . *.ttf C:\ProgramData\InstallFonts Powershell.exe -Executionpolicy bypass -File InstallFonts.ps1 |
Secondly, the InstallFonts.ps1 file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
if (!(Test-Path "C:\ProgramData\InstallFonts")) { New-Item -Path C:\ProgramData\InstallFonts -ItemType Directory } Start-Transcript -Path "C:\ProgramData\InstallFonts\Installfonts.log" $FontstoInstall = Get-ChildItem -Path C:\ProgramData\InstallFonts\ | Where-Object Name -Like "*.ttf" foreach ($FontFile in $FontstoInstall){ try{ Write-Output "Font file '$($FontFile.Name)' passed as argument" Write-Output "Copying item to: '$("$env:windir\Fonts\$($FontFile.Name)")'" Copy-Item -Path "C:\ProgramData\InstallFonts\$($FontFile.Name)" -Destination "$env:windir\Fonts" -Force -PassThru -ErrorAction Stop Write-Output "Creating item: "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\$($FontFile.Name)"" New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' -Name $($FontFile.Name) -PropertyType String -Value $($FontFile.Name) -Force }catch{ Write-Error $_ } } Stop-Transcript |
Lastly, this is the content of the Uninstall.ps1 file:
1 2 3 4 5 6 |
$FontstoInstall = Get-ChildItem -Path C:\ProgramData\FontsToInstall\ | Where-Object Name -Like "*.ttf" foreach ($FontFile in $FontstoInstall){ Remove-Item -Path C:\Windows\Fonts\$FontFile -Force } |
Packaging
Open up Powershell and run the IntuneWinAppUtil.
If you haven’t download the IntuneWinAppUtil, you can do so here.
Use the following parameters within the IntuneWinAppUtil:

The file in the red line is the output:

This is the input for the Intune deployment.
Deployment
The Win32App now need to be deployed.
Log on to the Intune Portal
Go to Apps:

After that go to Windows and add an App:

Add a Win32App:

Select app package file and browse to the InstallFonts.intunewin file.

Specify the package information:

Fill in the program information. The uninstall command will be filled for you due to the MSI in the .intunewin file:

Specify requirements:

Configure the detection rules:


At depencies click next.
Assign the application:

And the font is deployed!