Skip to main content


Showing posts from February, 2014

Exporting Contacts to a CSV file using the EWS Managed API and Powershell

Somebody asked last week about exporting contacts from Exchange via EWS to a CSV file and I realised I didn't have a basic sample for doing this. Contacts are one of the more richer exchange datatypes and can hold a lot of different information which you may or may not want to capture in a CSV export. In this sample script I'll show you how you can export data from the normal contact strongly typed properties like GivenName and Surname and the Indexed properties which are used to store the EmailAddresses, PhoneNumbers and Address details and also any extended properties like the Gender property which there are no strongly typed property for. As I mentioned Contacts have a lot of properties so this script doesn't export everything just a subsection to show how to export properties from each of the different subgroups I talked about. To add other properties to script eg  like the JobTitle you need to make the following modifications Add the property to the Custom object

Adding an additional/Shared Mailbox to OWA with EWS and Powershell in Exchange 2013

The ability to add a shared Mailbox Folders was a feature that was introduced in Exchange 2010 and carried over into 2013. When an additional Mailbox folder is added this updates an XML configuration documented in the OWA.OtherMailbox FAI Item for this Mailbox. In Exchange 2010 this includes an Id to the Folder but in Exchange2013/OWA it just includes the PrimarySMTP of the Mailbox your adding while the folderId is left blank. Due to this reason this script won't work on a Exchange 2010 server. Note : Its important to point out even on 2013/Office365 this type of script that modifies the configuration item would also not be supported as it may inadvertently corrupt the config document so it's provided as is for testing only.  The script to do this looks like ## Get the Mailbox to Access from the 1st commandline argument       $MailboxName  =  $args [0]   $maMailboxToAdd  =  $args [1]      ## Load Managed API dll      Add-Type -Path  "C:\Program Files

MEC is back again this year

MEC the Microsoft Exchange Conference is on again this year in April and is shaping up to be a not to be missed event if your interested in Exchange. Unlike other conferences MEC doesn't come around every year which adds to the charm and freshness of the content you can expect to hear. Also the Exchange community are pretty awesome so it is not just the technology that makes this event but rather the people you can meet and listen to. If your a developer or interested in coding on Exchange there is an Exchange Extensibility track which covers among other things some of the new things you can do with Exchange 2013 and Exchange Online.  As with many of the sessions at MEC a lot these are being delivered by the people at Microsoft who are responsible for designing and delivering these features, so its one of the only places you can get those hard questions answered or put some feedback forward. The future look sessions also look pretty interes
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.