Skip to main content


Showing posts from September, 2008

WizBang Exchange 2007 Message Tracking Powershell Gui Version 1

Unlocking the secrets from the depths of the Message Tracking Logs is an ever recurring theme on this blog and in general an important area of Exchange Server Management. In this latest incarnation we boldly go where no Message Tracking application has gone before as well as the normal aggregation, graphing and exports bits and pieces. The new functionality this script introduces expands on post I was talking about a couple of weeks ago which is Using Exchange Web Services to Enhance Exchange Message Tracking . So what we end up is a GUI that does aggregation and filtering and then the ability to look at the content of a particular message by using EWS to find the message based on its message-ID and then being able to see the Subject,Body and then export attachments or the whole message as an EML file. As this is version one i haven't quite go around to making the message search do a Deleted Item Scan (Dumpster Dive) and there is also an issue with Sent Items where the Clients i

Adding Entries to the Safe Sender,Safe Recipients and Blocked Senders in Exchange 2007 via a script workaround

The following is an extension to the Junk Mail enable script for 2007 i posted here . Using the same OWA automation workaround this extends the ability of this script to also add entries to the Safe Senders, Safe Recipients and Blocked Sender by re-using the cmds from OWA 2007. To add these entires the following XML is posted to /ev.owa?oeh=1&ns=JunkEmail&ev=Add <params><iLT>1</iLT><sNE>" & emEmailAddress & "</sNE><fFrmOpt>1</fFrmOpt></params> The <iLT>1</iLT> is the only things that changes eg <iLT>0</iLT> Adds to Safe Senders <iLT>1</iLT> Adds to Safe Recipients <iLT>2</iLT> Adds to Blocked Senders Make sure you read the original post I've linked above which documents the objects used and the potential issue around using this type of method which is just a quick workaround. I've put a download of this script here the code looks like snServername = "

Setting the OWA themeid via a script in Exchange 2007

This is a workaround for lack of the ability to set the OWA themeid programatically for those interested in the Technical side this setting is held in a FAI Message with a message class of "IPM.Configuration.OWA.UserOptions" in the Non_IPM_subtree of a mailbox. The setting is held as part of XML string in the 0x7C070102 binary mapi property on this item. Because there is no documentation for the structure of this property it makes setting and reverse engineering this risky and potentially error prone. One realtivly easy workaround to do this is to use some OWA automation code to use the method OWA uses to set this property. I've used this type of thing before to enable junkemail filtering on 2007 in OWA see Using the MSXML2.ServerXMLHTTP.6.0 object this object is included with the Microsoft XML Parser (MSXML) and is a better choice for this script because it firstly supports the ability to ignore any SSL errors that might happen (eg self signed Certs, Alternate names e

OWA Customization Example using Maps and StreetView with a Custom Contact Type and integrating EWS within OWA Custom Forms

For those brave souls who attended my MVP theatre talk on Friday here’s the OWA customization I demo'ed. The basics of creating custom forms are documented in the Exchange SDK . But putting this together can be a little tricky so let’s go though some of the basis’s step by step. Firstly I wanted to create a custom form that would display a map of the contacts address information and also a Street-view of the same address information using Google’s new Streetview features that was recently released for Australia. For this I created some contact items with a Message class of IPM.Contact.Map. To start the process of creating an OWA custom form for these items firstly you need to create a folder under the Forms directory on your CAS server. You should have a directory structure similar to this on your CAS server Program Files\Microsoft\Exchange Server\ClientAccess\Owa which represents the root of the OWA ASP.NET application. Under this directory is the Forms directory which is where

Deleting Items in a mailbox using Exchange Web Services and Powershell

This post continues on from my post a couple of weeks ago on digesting the quarantine mailbox in Exchange 2007. If you are digesting the quarantine mailbox one thing you might also want to automate is the purging of quarantined messages from the mailbox after a month if nothing has been done with them. Also if you have unmonitored mailboxes for auto-responses etc you might also want something that will delete messages that are older than a certain time period so to do this with EWS you need to look at first building a list of the itemIDs for the items you want to delete using a FindItem request and then batching your delete request for these items. For performance reasons its best to make sure that your batches that delete the items are a reasonable size to avoid performance issues on your CAS server. The DeleteItem request in EWS is relatively straight forward to use but there are a few options you should be aware of. When you delete an item within the Exchange Store there are a cou
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.