Exchange, meet ExFolders

Published Dec 04 2009 11:51 AM 86.9K Views


UPDATE 6/4/2012: Clarified that the new version of the tool will run on Exchange 2010 SP1 and later.

Six or seven years ago, I was faced with several cases where the permissions on public folders had been made non-canonical by programs running against the M: drive. This was back in the Exchange 2000 days when IFS was still around, and it exposed the M: drive by default. At the time, the only fix we had for this situation was a painful manual process that had to be done one folder at a time. Since I was trying to learn C# at the time, I decided to write a tool to do a bulk fix as a learning exercise. That tool became PFDAVAdmin, so named because it used WebDAV to access and make changes to public folders, and because I kind of saw it as the successor to the old pfadmin/pfinfo tools. The tool soon grew to incorporate other functionality, including exporting/importing permissions and replica lists, exporting properties, enumerating items, accessing mailboxes, etc. PFDAVAdmin gained wide usage in Exchange Support, and an updated version was later released publicly. It wasn't a pretty or polished tool, but it was extremely good at dealing with certain customer scenarios.

A few years later, PFDAVAdmin began showing its age. It had been written for .NET Framework 1.1, and because of Framework 2.0's more restrictive XML parsing, I could not easily move it to the new Framework. It also relied on the presence of certain directory objects which were always there in Exchange 2000 and 2003, but were associated only with the CAS role in 2007.

With the recent release of Exchange 2010, WebDAV is gone from Exchange, so PFDAVAdmin is no longer an option at all. A lot of the things you used to be able to accomplish only in PFDAVAdmin can now be done at the command line. For instance, Get-PublicFolder and Set-PublicFolder can be used to export and import permissions and replica lists, while Get-MailboxFolderPermission and Set-MailboxFolderPermission can be used to export and import mailbox permissions. However, there are still a few things you just can't do without PFDAVAdmin-like functionality.

Fortunately, we have a solution - a tool called ExFolders. This new tool is really just a port of PFDAVAdmin to Exchange 2010. We changed the name to ExFolders because it no longer relies on DAV, and it's not just for public folders (even PFDAVAdmin, in its public release, was not just for public folders). The name just didn't make sense anymore, so we changed it to the easier-to-pronounce ExFolders.

For better or worse, ExFolders still has the same user interface as PFDAVAdmin, so things will look very familiar. However, there are a few changes I want to highlight.

  • ExFolders must be run from an Exchange 2010 server - it cannot be run from a workstation as PFDAVAdmin could. It can connect to Exchange 2010 or Exchange 2007, but not older versions.
  • Remove Item-Level Permissions is gone, because there are no item-level permissions in Exchange 2007 or 2010.
  • DACL fix functionality is gone. With no WebDAV and no M: drive, non-canonical DACLs should be practically unheard of.
  • Permissions export format between PFDAVAdmin and ExFolders are compatible.

There are also a few new features:

  • Folder property imports are now supported. You were able to do folder property exports with PFDAVAdmin, but not imports.
  • Item property exports are supported - that is, you can export a set of properties from all items in a folder. This feature request has come up again and again for troubleshooting purposes. Item property imports are not supported.
  • ExFolders supports the new free/busy permissions that were introduced in Exchange 2007 and Outlook 2007.
  • You can now connect to multiple mailbox stores at the same time, so you can run a batch operation against several mailbox stores or all mailboxes in the org if you need to.

Be sure to check out the readme for more details. While there is no official support for the tool, feel free to comment here or send me an email (bilong AT Microsoft DOT com), and I will try to address them as time allows. However, make sure you read the readme first - there are a few known issues, and if you don't run the tool as specified, it will probably crash. Did I mention you should read the readme?

You can download both the RTM version of the tool and the version that works with SP1 and later as attachments to this post.

Bill Long 

Not applicable
Awesome, Bill, so glad to see we haven't lost the PFDAVAdmin'ish functionality that has saved our butts over the years! :) Can you suggest or show an example of a way to use the new ExFolders (or maybe EMS if I missed it) to compare two PF stores to ensure a new store has truly replicated everything?
Not applicable
Hey bday, with the item export functionality, technically you could do an item export on two servers and then windiff it. Just be ready for some big export files if you're exporting all the folders at once.

As always, the best way to make sure all the data has replicated is to remove one of the replicas. If the folder disappears out of Get-PublicFolderStatistics, then you know everything replicated off that replica. If something didn't replicate, it will stick around in Get-PublicFolderStatistics until you fix the replication problem.
Not applicable
I am really having a tough time getting public folder content to move/replicate from an existing Exchange 2003 server to a new Exchange 2010 server.  Have setup the replication, the folders appear to have replicated using the get-publicfolderstatistics command to verify folders exist in 2010 db, but the content will simply not migrate.  Also issued the MoveAllReplicas.ps1 script to no avail.  Thought your new tool would assist and then realized its not for 2003.
Not applicable
Glad to see the updated version of the very much wanted tool. PFDAVAdmin is truely a wonderful tool and have saved me many times during the PF replication calls. :) ExFolders will also help many to fix the PF problems using GUI.
Not applicable
Eric, for troubleshooting replication issues, there's really no substitute for going through the replication troubleshooting series I've posted on this blog. These articles focus on 2003, with the fourth one updated for 2007, but all of this still applies to Exchange 2010:

Part 1:
Part 2:
Part 3:
Part 4:

I would mostly focus on Part 4. It describes some common issues with replicating from 2003 to 2007, and our common issues replicating 2003 to 2010 will probably be very similar.

Troubleshooting public folder replication can be pretty complex, but these articles should at least help you to identify the exact point of failure.

Milind, glad to hear you have found the tool useful!
Not applicable
Wow, that's great - New tool which is having enhanced features of PFDavAdmin.
Good Work MS... :)
Not applicable
One question - and no I haven't read the readme yet. :)

You mention it must be run from an Exchange 2010 server, but that it supports 2007 and 2010. Does this mean we can also run it from an Exchange 2007 server? I ask because some of use who have 2007 in our enviornments would like to start using this tool today, but don't have 2010 yet.
Not applicable
Agreed - I imagine one of your top questions is going to be: Can I run ExFolders from my existing 2007 server? (I certainly would like to know!!)
Not applicable
Awesome Bill.... PFDAVAdmin was a real life saver.... Could expect a lot more from ExFolders...
Btw, why is it christened ExFolders ?? :)
Not applicable
The tool must be run from Exchange 2010 server, it can connect to an Exchange 2007 server, but must be run from 2010, as Bill states above.
Not applicable
Yea, i did try from a pure E2K7 environment, it wont work. I agree to what Matt says
Not applicable
That's correct - it MUST be run from an Exchange 2010 server. Once you've launched it from such a server, you can choose to connect to an Exchange 2007 server.

Eric, for troubleshooting public folder replication, I highly recommend looking at my series of posts on the topic. Just search on bill long replication, and look for Part 4. That part focuses on common problems replicating from 2003 to 2007, but the common problems replicating from 2003 to 2010 will probably be very similar.
Not applicable
Hi Bill,
Any plan to remove the restriction which the tool has to be run on an Exchange 2010 server?
Not applicable
In previous versions I have had problems with the permissions. Especially using the tools which used MAPI connections. As you know, users are able to modify the folder permissions. So we do not have permissions for most of the folders and we haven't been able to run full reports.

Is there any changes for this (I  haven't tested and I'm lazy, so I ask instead of try)?
Not applicable
Guys, is it possible to set it up on a machine with Exch2010 installed to remotely connect to servers in Exch2010 organization? Or the primary condition is that it needs to be installed on a production server?
Not applicable
Well this was very much long awaited and its Gonna easssee a lot of admins, mind it
Not applicable
That's correct - it MUST be run from an Exchange 2010 server. Once you've launched it from such a server, you can choose to connect to an Exchange 2007 server.

Eric, for troubleshooting public folder replication, I highly recommend looking at my series of posts on the topic. Just search on bill long replication, and look for Part 4. That part focuses on common problems replicating from 2003 to 2007, but the common problems replicating from 2003 to 2010 will probably be very similar.
Not applicable
setting calendar permissions does not seem to work? am I missing something, trying to set the default to reviewer. I selected the Everyone user in AD. It suggests it completes but the calendar permissions on the mailbox do not change. Any ideas?
Not applicable
Hello again, I figured it out. just in case others do the same thing.
In order to test this i was selecting a single users mailbox and then selecting the calendar permissions option in the menu. This does not work. To set an individual mailbox expand the tree and then under Information store select calendar and then change the permissions there.
Selecting the mailbox tree heading and resetting calendar permissions works for all mailboxes.
Great tool, thanks!
Not applicable

ExFolders.exe simply crashes on my Exchange 2010 system. Yes I read the Readme file and copied ExFolders.exe into the bin folder of my Exchange 2010 folder :-)

Maybe it crashes, because I use the german version of Exchange 2010?

The output is:
 Stopped working

 Problemereignisname: APPCRASH
 Application Name: ExFolders.exe
 Application Version:
 Application Timestamp: 4b1eafff
 Fault Module Name: KERNELBASE.dll
 Fault Module Version: 6.1.7600.16385
 Fault Module Timestamp: 4a5bdfe0
 Exception Code: e0434f4d
 Exception Offset: 000000000000aa7d
 Betriebsystemversion: 6.1.7600.
 Gebietsschema-ID: 1031

Do not hesitate to contact me, if you want me to do some tests.
Not applicable
Shame on me for not having read the complete Readme file and not having imported the included reg file. :-(

After import of the reg file everything works fine!

Thank you for your help!
Version history
Last update:
‎Apr 22 2020 12:21 PM
Updated by: