Adding and Removing Fonts with Windows PowerShell

A while back the topic of scripting the installation and removal of fonts came up in an internal discussion.  It reminded me that someone had once shared with me Visual Basic 6 utilities for doing just that.  So I decided to see if I could transform these into working Windows PowerShell scripts in the same way that I had rewritten my utility to set the time zone.  Like my time zone utility, these utilities used Windows APIs to install and remove fonts.  Specifically they used AddFontResource and RemoveFontResource (plus PostMessage to notify running applications of the change).

Attached are the results of this effort.  Add-Font.ps1 can be used to install a single font file or a folder of fonts.  Remove-Font.ps1 can be used to uninstall a single font file installed in the \Windows\Fonts folder.  These script are written for Windows PowerShell version 2.  Run each script with the -help switch for usage details.  They have only been tested on my computer so like anything else posted to this blog, please test them first and use at your own risk.


Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the Terms of Use .

This post was contributed by Michael Murgolo, a Senior Consultant with Microsoft Services - U.S. East Region.