How To Access System Folders From EWS Managed API

The EWS Managed API provides a simple way to get to the Public Folders – you simply bind to the Microsoft.Exchange.WebServices.Data.WellKnownFolderName.PublicFoldersRoot, like so: $pfRootName = [Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::PublicFoldersRoot $pfRoot = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service, $pfRootName) But what if you want to access the Free Busy folder, or the Offline Address Book folders? How do you get to the System Folders?…


Removing Unresolved SIDs in Exchange 2010

In this post, I’m going to describe how to remove unresolved SIDs from public folders in Exchange 2010. But first, let’s talk about what they are and why we care about them. What are unresolved SIDs? When you view the permissions on a file in Windows or an object in Active Directory, you get a…


New Version of ExFolders Fixes Non-Canonical ACLs

When I wrote ExFolders, I thought the non-canonical Exchange ACL problems were permanently behind us in Exchange 2010. For this reason, ExFolders did not include any functionality to deal with non-canonical ACLs. It turns out I was overly optimistic. In the last few weeks I’ve seen a couple of cases where customers ended up with…


Investigating complex LDAP filters in Exchange

Customers migrating from Exchange 2003 to 2007 or 2010 often use my ConvertFrom-LdapFilter script to do very literal conversions from their old LDAP filters to the new OPATH filter syntax. In most cases, that works, but sometimes you’ll run across a filter like this: (&(&(&(|(&(objectCategory=person)(objectSid=*)(!samAccountType:1.2.840.113556.1.4.804:=3))(&(objectCategory=person)(!objectSid=*))(&(objectCategory=group)(groupType:1.2.840.113556.1.4.804:=14))))(objectCategory=user)(memberOf=CN=SomeGroup,CN=Users,DC=contoso,DC=com))) My script will refuse to process this filter because of…


Identifying Unresolved LegacyExchangeDNs via EWS and Powershell

I recently worked with a customer who had inadvertently deleted all their user accounts (and thus their Exchange mailboxes), and with no backup available, they had to recreate them. Talk about a nightmare! After they did so, they were able to get their email back, but they discovered that replying to email messages from before…


The Effects Of Archival Stubs On Database Space Management

Update: The Exchange 2010 issue was resolved in SP2 RU1. Recently, there have been some theories flying around the blogosphere about the way archive stubbing affects space reclamation in Exchange databases. Specifically, some have questioned whether Exchange will properly reclaim the space when the size of an item in the database shrinks. I contend that…


Hierarchy Replication Fails Due To Zero GUID

Exchange 2010 Sp1 Rollup Update 4 released a couple of days ago, and I want to briefly mention one of the fixes it includes. The fix I’m talking about is KB 2506049, “The hierarchy of a new public folder database on an Exchange Server 2010 SP1 server is not replicated”. You’ll know you’ve hit this…


Do Not Use Remove-PublicFolder To Remove A Public Folder Database

About once a week, someone comes to me about a case where a customer has accidentally deleted all their public folders when they were just trying to get rid of one public folder store. This happens because of threads or blog posts where someone suggests using some variation of this command: Get-PublicFolder “\” -Recurse -ResultSize…


Importing PFDAVAdmin or ExFolders Exports Without PFDAVAdmin or ExFolders

It’s almost May and I haven’t posted anything yet this year, so it’s definitely time to post a new script. I recently worked with a customer that needed to export the public folder permissions from one Exchange organization and import them into another. The trick was that on the import side, some of the accounts…