Skip to main content


Showing posts from September, 2012

Finding and removing Duplicate Items with EWS and Powershell (MEC Sample)

This is the first of a number of samples I'll be posting (in no specific order) from the talk I gave at MEC thanks to all those that did brave my talk and all the other people I got to talk with about EWS over the conference. For me MEC the missing conference was really unmissable and would recommend if you didn't catch it this time look out for it in the future also check out the new community site iammec . So let's look at the method this script uses to detect duplicates, firstly there are a number of way that dups can be created and the method this script uses won't work in every situation so it's important to understand how it works. The primary Extended Property this script uses to detect duplicate Items is the pidTagSearchKey (or PR_Search_Key) . If you read this link or your a fan of using a MAPI editor like me you would know that this property is used on both the Item and on the recipients in t

Reporting on the Outlook Client Junk Email filter with EWS and Powershell

Within most Exchange Orgs there are multiple levels of SPAM and junk email filtering that may include Cloud based first level filtering like Postini and Forefront and then other server based filters like those standard AS features that come with the Transport Server role with Exchange 2010. At the client level if you have the Outlook 200x junk email filter enabled it will also be providing another level of Junk Email filtering.  The one difference being that while the cloud and server based solutions filter email while it is in the Transport Pipeline the client based filter will only filter it once it has arrived in a Mailbox folder and it can also filter content such as RSS feeds that don't come via the transport mechanism. Although inevitably the Junk Email ends up in the Junk Email folder when the client  side filter takes action on an Item it adds some extra Extended properties that can be used from a reporting perspective. The most interesting is PidLidSpamOriginalFolder h
All sample scripts and source code is provided by for illustrative purposes only. All examples are untested in different environments and therefore, I cannot guarantee or imply reliability, serviceability, or function of these programs.

All code contained herein is provided to you "AS IS" without any warranties of any kind. The implied warranties of non-infringement, merchantability and fitness for a particular purpose are expressly disclaimed.