Newly revamped Get-PublicFolderIDFixReport tool

Newly revamped Get-PublicFolderIDFixReport tool


Since the TechNet Gallery retirement, I’ve had several users contact me regarding the Public Folder IDFix tool that I put out almost 6 years ago.  I don’t do a lot of Exchange Public Folder migrations any more, so I shelved a lot of updates and things that I had planned for my public folder tools.

Today, the drought ends.  You have a new tool.


Back when I was still in Microsoft Consulting Services, I did a lot of public folder migrations.  So many, in fact, that I thought I had seen just about every problem you could possibly imagine. In one of my last big public folder migrations for a school district, I cataloged all of the steps I went through (and errors I encountered).

A few years later, as I was preparing to write Microsoft Office 365 Administration Inside Out, I made sure the tool was uploaded on the TechNet gallery, updated my Hybrid Public Folder migration post, and went to press.  And there the tool stayed.

What the tool did then

In its earliest stages, the tool looked at the proxyAddresses string for mail-enabled public folders and made some very rudimentary suggestions about removing known invalid characters.  That’s it.

What it does now

Since I’ve had 6 years to tinker with it, I can tell you it does a lot more than it used to:

  • Checks for invalid PrimarySmtpAddress property (stored as SMTP:<value> in the proxyAddresses array) for mail-enabled public folders.
  • Checks for invalid WindowsEmailAddress property (stored as LDAP:mail in Active Directory) for mail-enabled public folders.
  • Checks for “\” and “/” characters in public folder Name property.
  • Checks for duplicate aliases.
  • Verifies that publicFolder objects in the Microsoft Exchange System Objects container reference a valid mail-enabled public folder and identifies potential orphans.
  • Verifies that a mail-enabled public folder has a corresponding object in the Microsoft Exchange System Objects container.

How to use it

It’s super simple.  Download it and run it from a computer that has the Active Directory Remote Server Administration Tools (RSAT) installed.  If they aren’t installed, this script will attempt to do it.  I’d recommend not running it inside the Exchange Management Shell.  I would recommend a normal PowerShell session on an Exchange server.

The script will output three reports and a log file.  Depending on how good your environment, some may not have data.  By default, they are:

  • yyyy-MM-dd_PublicFolderIDFixLog.txt – Just a log file. Captures some information about operations.  If you run into problems, I might ask you to send this to me.
  • yyyy-MM-dd_MailPublicFolderIDFixReport.csv – The meat and potatoes.  It will list status of each mail-enabled public folder.  I was torn on how to represent the data, so columns that don’t require data are left blank.  If something is interesting, I’ll flip a bit and drop data in the column.
  • yyyy-MM-dd_PublicFolderIDFixReport.csv – Report containing the name properties that need to be updated for all public folders (both standard and mail-enabled).
  • yyyy-MM-dd_UnlinkedMESOOutputReport.csv – Potentially orphaned publicFolder objects in the Microsoft Exchange System Objects container.

Where to get it

The new home for my PowerShell scripts: The PowerShell Gallery.

Let me know how it works for you!

Published by Aaron Guilmette

Helping companies conquer inferior technology since 1997. I spend my time developing and implementing technology solutions so people can spend less time with technology. Specialties: Active Directory and Exchange consulting and deployment, Virtualization, Disaster Recovery, Office 365, datacenter migration/consolidation, cheese.

Reader Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.