Skip to main content


Showing posts from January, 2016

Enumerating and Reporting on all Search Folders in a Mailbox or Archive with EWS and Powershell

Search Folders are a feature of Exchange that allows you to have a static search based on a particular criteria  across one or more folders in a Mailbox. They can serve a number of different functions within a Mailbox and are often used to provide some of the backend functionality of new features. None of the Exchange Management Shell cmdlets gives you  a good view of the SearchFolders in a Mailbox so EWS can be particular useful for this. Eg I've put a cmdlet together that will enumerate all the Search Folders in a Mailbox (or Archive is you interested in that) and produce a report of the folder number of Items and Size of those items that match the Search Folder criteria. It will produce a report such as I've put a copy of this script up on GitHub here To Run the script use Get-SearchFolders -MailboxName to Get Searchfolder from an Archive Get-SearchFolders -Ma

Reporting on Folder RetentionTag Statistics Exchange 2010-16

Mailbox retention tag application and management are one of the more complex administrative tasks on Exchange from 2010 and one task scripting can be a great help with. With EWS there are two ways you can deal with retrieving the Retention Tags that have been applied to a Folder or Item. In 2013 and 2016,  EWS returns the retention tags applied to a folder or Item as a Strongly typed property which makes things easier to deal with. In Exchange 2010 you need to access the underlying extended properties for Retention tags (this will also work on 2013 and 2016 because the extended properties are the same). I've posted up a script module on GitHub here  that can do this using the Extended properties so it will work on Exchange 2010 and up. Report-TaggedFolders  - Creates a Report of the FolderTag applied to each of the Folders in a Mailbox (if they are tagged). To get all the availbile Personal Tags the
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.