Powershell Needful Things put that in your pipeline


Bulk Export Exchange Calendar data to Excel


The previous version of this script, proved far more popular than I could have ever imagined. It was however very complex, which caused numerous failures during execution.

I have recently spent some time streamlining the script at a client, to a point where it is now running fully automated on a schedule.

The new script has the following requirements:

  • The script assumes that it is running in C:\Scripts\CalX - if this path is not possible you have to manually update the script to reflect the location.
  • The script should be executed in the Exchange 20xx management shell.
  • The script requires that Outlook 2007 or above is installed on the computer.
  • The script requires texprof.exe to create the profiles.
  • The script requires MAPILab Advanced Outlook Security to control the security popups.
  • The script requires a file called rooms.txt in the same folder that the script is executed from.

If any exported calendar CSV data files exist from a prior runs, the script will backup these files. The script runs thought each room, in the rooms.txt file and creates / updates a profile on the local machine.  The script assigns full mailbox permissions to the current user, for the calendar to be exported. The script logs onto Outlook using that profile, and exports the calendar data to a CSV.

When it is complete, it combines all of the calendar export files into a single CSV containing all the exported data. As always, your comments and suggestions are always welcome.

The script and texprof.exe can be downloaded below:

Comments (11) Trackbacks (0)
  1. Hello there,

    Thanks for the good work 🙂

    I am trying o run this script and have made sure all the prerequisites are being fullfilled but texprof.exe is not creating profiles hence the report keeps picking up only one calender which already has a profile.

    please help 🙂

  2. Hi Jean,

    This script is awesome and is really helpful.
    As a requirement, i am also trying to extract the ItemID for each calendar Item. I tried this by adding the Id field to the export but this is not working. 🙂

    Please help on this.

    • Hi there,

      The script is posted as is, should you require additional changes, you are welcome to adapt the code to suit your specific needs.



  3. Hello!

    Thank you so much for this! This was a need that came up this week and after poking around a bit, this script took care of exactly what I needed…

    One issue I cant get around though is the fact that texprof wont work on x64 os’ and needs a 32bit version of Outlook. How were you running it? 2008 rtm? Have you ever updated this to work in a x64 environment?

    Thanks again,


    • Hi there,

      I use it on a Windows 7 machine currently. I would need to update the script quite a bit to replace textprof.exe.

      Thanks for posting.

  4. Hello,

    This is really a great help for me.

    Is there any way to identify whether it is a reoccurring meeting or not?

  5. Hello,

    I have 32 bit OS and it is still not working. texprof.exe is still not creating profiles hence the report keeps picking up only one calender which already has a profile. Can you please assist?

  6. Jean,
    did you refactor already the script so that we do not need a 32 bits machine?

    • Hi there,

      There is a newer version of the script which I developed for a customer. It is however not published on the site.

      If your Windows version will let you run the 32bit exe it should be fine.



Leave a comment

No trackbacks yet.