Skip to main content


Showing posts from June, 2005

Reverse Permissions Audit Scripts Part 2

*****If your looking for a Exchange 2007/2010 solution have a look at this post ***** In April I posted this script that did a reverse lookup of mailbox permissions that had been assigned via Active Directory Users and Computers. This was to give a view by user of what mailbox’s a particular user had access to (instead of the normal view which is who has access to this mailbox). The second part of the permission story with exchange is the actually MAPI permissions that are set on each of the folders in a mailbox. When you delegate folders in outlook this will modify the rights of each of the folders that you delegate (eg calendar,contact,tasks). To view the Mapi permissions on a folder programmatically from a script there are a few methods that can be used the easiest way to do it is to use the Acl.dll from the platform SDK see KB240911 for details for more details. The basis of this article can be used to

Setting the frame sizes in OWA 2003 programmatically

Had an Interesting question about adjusting the default frame sizes in OWA 2003 that I thought I’d share. In OWA 2003 there are two frames that a user can adjust the size off themselves and these changes are stored so that the next time the user goes into OWA the frame positions are remembered. The left most frame which houses the navigation bar and OWA shortcuts is controlled via the property which exists on the root folder of the mailbox eg http://servername/exchange/mailbox. You may want to make it wider or narrower depending if your customizing other parts of OWA. The other frame that is adjustable in the right most frame which holds the preview pain. The size of this frame is controlled by the property which is located on the inbox folder eg (http://servername/exchange/mailbox/inbox). Both these properties are integers and if I was to have a guess I would say the integ

Syslogging the Message Tracking Logs on Exchange 2x

The Syslog protocol is a very popular way of sending log information over TCP/IP to event log collectors (The introduction to Syslog in the RFC is well worth a read).Sendmail can do logging to a syslog server straight of the bat but in the Windows world it unfortunately doesn’t get much of a run. Exchange does make its tracking logs available via WMI as well as the raw tab separated text file but doesn’t give you any way of sending them to another server. To get my Exchange server producing syslog messages for the tracking log data I thought I’d write a small c# console application that would retrieve the tracking log data for the last 5 minutes then create and send syslog messages for each message in the log. Then all I need to do is create a scheduled task on the Exchange boxes to run the app every five minutes. Digging a bit deeper. When you dig a bit deeper into the message tracking logs on Exchange you’ll find there are a lot of events that are logged and only some of them are

Shaping Outlook Version data with the Exchange_logon WMI Class

A different slant on this script I posted yesterday is if maybe your only interested in just displaying information about the different outlook versions people are using. So what this version of the script does is instead of shaping data from ADSI with WMI we take the Outlook version table from and this time put this in a disconnected recordset and then shape the logon data from WMI to this build table. Using the same trick I used previously you can then either display a table that just shows the count of each Outlook version being used or show a hierarchal view of Outlook versions per user. To run the script it still takes two command-line parameters the first being the servername and with the second parameter there are 2 options which should be self explanatory Detail - Show Details of exch Oulook version logged on Count -Show just the count of Outlook versions logged on I’ve put a downloadable copy of the script here

Displaying the Logon Status using Data shaping via ADSI and the Exchange_Logon WMI Class in Exchange 2003

Being able to display logon information via the various Exchange administrator tools has been around for a while but until Exchange 2003 there was never any scriptable interface you could use to display this data . Although for various reasons this data is never 100% accurate it can be used to get an indication of who’s logged onto the server and what client they are using. If you shape the data you can retrieve using Exchange_logon with a full list of mailboxes on that server retrieved via ADSI then you can get a bit more of a clear picture as to who is logged on, who is not logged on, how many people are logged on to one particular mailbox, how they are logged on (OWA or Outlook) and what version of outlook they are using. The script itself uses the same ADO data shaping techniques I described in this post. Some different bits and pieces that have been added to this script are Front End The Front end of the code accepts two command line variables the first is the severname of 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.