Blog TalesA Guide To Public Folder Tools

Bill Long

Are you an Exchange Server op who's confused by different public folder tools? With all the various public folder tools out there, it can be difficult to remember what each tool can be used for. Let's straighten it all out now. Note that these tools can be found in the indicated subdirectories of

pfadmin 1.3

This is the original pfadmin from the days of Exchange Server 5.5 and is used for imports. It works with Exchange Server 5.5, Exchange Server 2000, and Exchange Server 2003. It's typically used for running permissions imports that were generated with pfinfo 3.x, which are made up of SETACL command lines. You can also use it interactively to run SETACL and SETREPLICA commands. Pfadmin lets you view the current permissions and replicas using LISTACL and LISTREPLICAS, respectively. However, these dumps cannot be imported since they don't use the SETACL or SETREPLICAS command format. You can find pfadmin 1.3 at /PFAdmin.

pfinfo 3.x

This is the original pfinfo from the time of Exchange Server 5.5 and can be used with Exchange Server 5.5 only. It's used for exporting permissions in pfadmin 1.3 command syntax and also reports certain properties. Pfinfo is typically used for running permissions exports—actually just a list of SETACL commands. These can be imported using pfadmin 1.3. It also generates a report that includes various other properties of the folder, such as item count and folder size. The property export cannot be imported. You can try running this against Exchange Server 2000 and Exchange Server 2003, but in some cases subfolders will appear as root folders in the export because pfinfo gets the folder path from the directory object, which is not always populated in Exchange Server 2000 and Exchange Server 2003. See /PFInfo/55.


This is an updated pfadmin for Exchange Server 2000 and is used for imports. However, pfadminE2K isn't widely used due to several shortcomings. First, its command and permissions syntax is completely different from pfadmin 1.3, meaning you can't import your old pfinfo exports with the new pfadminE2K. Second, with Exchange Server 2000 SP1 and later, most operations fail. It only works reliably with the RTM version of Exchange Server 2000. You can find it at /PFAdmin.


This is the updated pfinfo for Exchange Server 2000, which was also not widely used for similar reasons. It's used for exporting permissions in pfadminE2K command syntax and reports certain properties. The new permissions export format made it incompatible with any tool except pfadminE2K, and it works reliably with Exchange Server 2000 RTM only. See /PFInfo/2000.


This utility accesses Exchange Server via a MAPI profile, and thus it works with any version of Exchange Server. It generates permissions exports in pfadmin 1.3 SETACL command syntax and can be found at /Outlook_Folders.


PFDavAdmin accesses the information store through WebDAV and can be used with Exchange Server 2000 and Exchange Server 2003. Originally written to correct non-canonical discretionary access control lists on public folders, it eventually expanded to include imports and exports of permissions and replicas in pfadmin 1.3 command syntax. Version 2.3 and later can also export properties such as item count (PR_CONTENT_COUNT) and folder size (PR_MESSAGE_SIZE) into a tab-delimited file similar to the old pfinfo output which also cannot be imported, just like the old pfinfo output. It can be used to propagate single permissions and replicas down a tree of subfolders, instead of overwriting as Exchange System Manager does. Get it at /PFDavAdmin.


Pfmigrate can be used with Exchange Server 2000 and is especially useful for Exchange Server 2003 SP1 site consolidation, since it supports changing the legacy domain name of a public folder. No other utility discussed here can do this. Pfmigrate can also be used to simply add replicas of all folders on one server to another server, and remove replicas of all folders from the original server. You can find it at Downloads for Exchange Server 2003.


The exdeploy /pubfoldcheck switch is of interest in regard to public folders since it runs a part of the DS/IS Consistency Adjuster, which removes the unknown accounts from public folder access control lists (ACLs). Those unknown accounts, if unhandled, could then get replicated to Exchange Server 2000 and Exchange Server 2003 as zombie users (accounts that appear in ACLs but not in Active Directory®). Exdeploy /pubfoldcheck can be scripted and run against multiple servers. Earlier versions of exdeploy help stated that /pubfoldcheck also synchronized the public folder store and the Exchange Server directory (which could cause public folders to be rehomed). This is incorrect and has been fixed in the new help file available with the tool. It's available at Downloads for Exchange Server 2003, as part of the Exchange Server 2003 deployment tools.

Bill Long began his career at Microsoft in 1997, supporting Exchange Server on the night shift. In 2001 he moved to a daytime position in troubleshooting. In 2003, he wrote the PFDavAdmin tool and updates it as time allows.

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; reproduction in part or in whole without permission is prohibited.