Skip to main content


Showing posts from October, 2017

Export Contacts from a Mailbox Contacts Folder or Public Folder to a CSV file using EWS and REST

As I had a few questions about exporting contacts to CSV from both Mailbox and Public folders I've added some new functions to the my EWS contacts module to make this easier.  I've added to new cmdlets the first is Export-ContactsFolderToCSV This will export a contacts folder to CSV's either the default Contacts Folder in a Mailbox or a secondary Contacts folder if you enter in the FolderPath eg to export the Default contacts Folder use Export-ContactsFolderToCSV - MailboxName -FileName c:\exports\contacts.csv To export a Secondary Contacts Folder use Export-ContactsFolderToCSV - MailboxName -FileName c:\exports\contacts.csv -Folder \Contacts\SecondContactsFolder Export-PublicFolderContactsFolderToCSV This will export a Public Contacts Folder to a CSV file to use this use Export-PublicFolderContactsFolderToCSV -MailboxName -FileName c:\exports\PublicFolderexport.csv -PublicFolderPath \folder\folder2\contact

Showing all your Room Mailboxes in Office365 using the Graph REST API

One of the recurring questions you see asked in Forums around EWS is the ability to see all the Room Mailboxes in Exchange. This is pretty reasonable request that hasn't really had an easy answer in the past there are RoomLists but these required setup and ongoing maintenance and coordination  which can be troublesome. If you where using OnPrem exchange then instead of using EWS you could just use LDAP to lookup Active Directory directly (as well all know AD is the directory service for Exchange) eg back in 2007 I created this . With Office365 you don't have LDAP access to the directory and the Graph API while its good doesn't offer access to the particular property on a User or Directory Object that would allow you to tell if that object has an associated Room (or group or shared mailbox). The good news however is the Graph API  now gives you the ability to pull all the Room Mailbox using f
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.