Skip to main content


Showing posts from March, 2008

Default Calendar permission Powershell Gui for Exchange 2007

****Note if your using Exchange 2010 SP1 see which is a version that use the new Exchange Management Shell cmdlets ***** This is a sample script that uses the calendar permission helper class I posted here. This script basically presents a Winform that can be used to firstly enumerate all the default calendar permissions of all mailboxes on an Exchange Server and then you can do a multiple select and set a new default calendar permission level for one or more mailboxes. The script gives the option of specifying the authentication setting to use and the Cas Server you want to use. By default it tries to locate a cas server using the get- WebServicesVirtualDirectory cmdlet eg [array]$calurls = Get-WebServicesVirtualDirectory $strRootURI = $calurls[0].InternalUrl.AbsoluteUri $strRootURI Using EWS impersonation allows you to set the calendar setting on a mailbox that the account running the script doesn

Class library helper for setting Calendar Permission via Powershell and Exchange 2007

I posted something a while ago that tried to explain how you can go about setting calendar rights using the new features in EWS included in Exchange 2007 SP1. Unfortunately from the feedback i got it seemed to confuse people more than help it seemed most people where interested in resetting the default calendar permissions especially in regards to the new Freebusy Acl’s that where included in Exchange 2007/Outlook 2007. The freebusy rights pose a special challenge because the normal scripts like CDO 1.2 or Pfdavadmin can’t be used to set these particular rights you need to use either the Outlook 2007 OOM or EWS. So I decided to come up with a helper class similar to the OOF helper class I wrote before that would allow people to change the rights on a calendar just using a couple of lines in Powershell. Because I already has a namespace for the OOF helper I decided to fork that code into a new namespace and library and I thought that I’d be able to reuse a lot of what I’d done before

Exchange 2007 Mail enable User Powershell Quick Form

A couple of weeks okay I had to mail enable (as opposed to create mailboxes) for a bunch of Active Directory accounts in a variety of OU’s in Active Directory. With previous versions of Exchange being able to do this directly from ADUC made this task relative easy and depending on the number of accounts you had to do probably not something that was worth writing a script for. With the loss of this functionality out of ADUC you have to use either a wizard in the Exchange Management Console or do it directly from Powershell. I’m not a fan of the EMC wizards they are there to do a job which they do adequately but are just too time consuming to use for repetitive tasks that aren’t worth writing a larger script to do. So I decided to port the form I had for doing quick mailbox creates to do quick mail enabled's. I wouldn’t say the result was brilliant but in the end once I had the form up I could bang though the accounts I wanted to mail enable resonably quickly (what helped is the

ActiveSync IIS Log Tool / Powershell GUI Version 1

Anyone trying to administer and manage Windows Mobile Devices when active-syncing against an Exchange 2007 server will know the unique set of challenges keeping an eye on these devices presents. Because all the communication a mobile device makes is via https (well lets hope it is) all this activity is recorded in the IIS Log files. On the Exchange Team blog there are some great scripts that have been published for doing reporting on Exchange Active Sync via the logparser which works really well and is a really fast and functional method if you have large log files. . Because some of the servers I work on tend to be smaller and greater in number I wanted a better method to do some quick reporting on ActiveSync that was quick, easy to setup and practical to do on a day to day basis. So I thought I put together a little powershell GUI to be able to pull information from an IIS log file about Active-Sync devices and then summari
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.