Skip to main content


Showing posts from February, 2008

Combining multiple Exchange Management Shell powershell cmdlets and maintaining the Pipeline

This post continues on a little bit from last weeks update of the mailbox size GUI where I combined three Exchange powershell cmdlets get-mailbox,get-mailboxstatistics and get-mailboxdatabase to get the percentage of quota used for a users mailbox. When I did this although I used the Pipeline I didn’t really maintain it because I didn’t really need to I had my own custom methods for displaying the data I was querying. But one of the most useful things about Powershell is when using the pipeline normally you have a lot of built in functionality as to how you can format and export the results of whatever command you are running for instance Export-Csv format-table etc. Someone asked the question this week “ We need to get the user's list from POWER SHELL sorting by database , ProhibitsendrecieveQuota, mailboxsize & lastlogontime ( those who have not been logged on their mails for 60 days). I hope there should be merged these two comlets "get-mailbox "and "get-

Version 4 of the Mailbox Size Gui and using Quotas in Mailbox Size Reports

Version 5 has now been posted that fixes issue with quotas please see this Based on the feedback and requests I’ve received I’ve updated the Mailbox Size Gui to show the percent of Quota used by each user. While this was not hard to do it’s unfortunately not as simple as just pulling the information from the get-mailboxstatistics cmdlet. As I’ve shown in other posts before when you what to determine the Quota that applies to a user’s mailbox you need to check quota information in a number of locations. The first place you need to check is the users account to see whether then have the use store quotas defaults set to true of false. Within a Get-mailboxstatitics operation there is a property made available called UseDatabaseQuotaDefaults which can be used to do this. If this property returns false then the quota information will be set on the User's Mailbox itself (or more accurately the User object in Active Directory) so in this case you can use the Get-Mailbox cmdlet to retrieve

Class library to help setting Out of Office (Oof) via Exchange Web Services with Powershell and .NET

One of the added features that Exchange 2007 gives you when teamed with Outlook 2007 is an Enhanced Out of Office functionality. In previous version of Exchange the OOF was a on/off setting with a Text based message to represent your OOF reply. In 2007 you now have the 3 states on/off and scheduled (meaning that oof message will only be sent during the scheduled time). The user also has the ability to set Internal and External OOF response messages and the ability to set who the External oof messages will be sent to (the three states for this is All, None and Known contacts). From a coders point of view you have gone from something that was two properties to something a little more complex (kind of like the difference between a Volkswagen beetle and a decent car)(*note to self must not blog while watching Top Gear) . Although it is still possible to set the OOF message via the old API’s Exchange Web Services is the only method that actually provides a fully supported and functional met
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.