Management Shell Quick Reference for Exchange 2010


A great document that should be used a lot: Exchange Management Shell Quick Reference for Exchange 2010.

Brief Description
This download contains a quick reference sheet that can be used to access frequently used Exchange Management Shell cmdlets and syntax in Microsoft Exchange Server 2010.

The Exchange Management Shell provides a powerful command-line interface for Microsoft Exchange Server 2010 that enables automation of administrative tasks. This quick reference guide provides a list of frequently used cmdlets, important conventions, and useful tips. The information is presented by feature area, such as recipient, transport, and database administration. This quick reference guide applies to Exchange 2010.

Mailbox Size GUI Script for Exchange 2007

Following my yesterday’s post about a GUI tool, I would like to announce a new one from Glen Scales: Version 5 of the Mailbox Size Gui Script for Exchange 2007 (click the picture to enlarge).


Getting mailbox sizes was so easy using the old Exchange 2003 System Manager. This is one of the features that messaging administrators most miss.

For all the PowerShell junkies out there, this a simple task (check this post by Devin Ganger and this one at the ExchangeNinjas site), but if you’re more a GUI kind of guy (like me) you’ll really appreciate this neat tool from Glen.

Keep those babies coming Glen!

Share it! :

Exchange 2007 Content Agent Log Message Tracker GUI

Glen wrote this fantastic piece of code that I’ve been planning to write about for ages! This PowerShell script, Exchange 2007 Content Agent Log Message Tracker Gui, allows you to easily find any message that went through the Content Filtering Agent.

Although it’s possible to manage the antispam agent logs using plain PowerShell, as Bharat explains so well in his post Exchange Server 2007: Managing And Filtering Anti-Spam Agent Logs, for those of you who don’t like the command line, the script from Glen Scales can really be a life safer.

Here’s how the GUI looks like (click image to enlarge):


From Glen’s own words:

  • There are textboxes to allows you to search based on the from and/or To address.
  • There is a drop down list to allow you to select a SCL level to look at so you can choose to filter by only messages that have been assigned a specific SCL value.
  • The Extra sections has the aggregate options. Currently it has four aggregate option it can aggregate:
    • By SCL this shows you by SCL Value how many messages where received between the dates specified
    • By Receiver will show you grouped by receiver how many messages have been received for each SCL value
    • By Sender will show you grouped by Sender(P1) how many messages have been received for each SCL value
    • By Date will show you by Date how many messages have been received for each SCL value.

If you download the script and save it at “%ProgramFiles%\Microsoft\Exchange Server\Scripts\”, you can create a shortcut to run it, using this command:

%windir%\system32\windowspowershell\v1.0\powershell.exe -PSConsoleFile “C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1” -command “. ‘C:\Program Files\Microsoft\Exchange Server\Scripts\cagentTracker.ps1′”

If you are eager to get more reports from the Agent logs, out of the box Exchange has some good PowerShell scripts that can help you achieve the results you want. Again, Bharat has done a wonderful job explaining them: Keeping tabs on Antispam filters: A few handy scripts in Exchange Server 2007.

Share it! :

PowerShell script for Move-DominoUser cmdlet

Some time ago I blogged about my experience with the Transporter Suite when migrating from Lotus Notes to Exchange 2007.

On that post I mentioned that I had some trouble migrating users with Transporter suite, so I wrote a VBScript to do the job.

Now, the ‘The CollabTools’ Blog posted a PowerShell script that does more or less the same, I don’t know it is related with the error I was getting or not:

# The script below provides the same functionality as move-dominoUser but does not enable
# the email address policy generator [RUS]. The default behavior of move-dominoUser is to
# mailbox enable the user object, apply email address policy as primary addresses and
# then add email addresses from contacts as secondary email addresses. If you intend to
# persist contact email addresses as primary email addresses of the mailbox enabled user,
# then this script is for you.

The PowerShell script is available here.

Share it! :

PowerShell commands for Active Directory

I wanted to blog about this since I read it at Evan Dodds’ Blog.

The ActiveRoles Management Shell for Active Directory is a set of PowerShell commands (CMDLETs) from Quest Software that can be downloaded and used for free to perform administrative tasks within Active Directory.

The ActiveRoles Management Shell for Active Directory is an Active Directoryspecific
automation and scripting shell that provides a command-line
management interface for administering directory data either via Quest
ActiveRoles Server or by directly accessing Active Directory domain
controllers. The ActiveRoles Management Shell is built on Microsoft Windows
PowerShell technology.

The ActiveRoles Management Shell is implemented as a Windows PowerShell
snap-in, providing an extension to the Windows PowerShell environment.

As the commands provided by the ActiveRoles Management Shell conform to
the Windows PowerShell standards, and are fully compatible with the default
command-line tools that come with Windows PowerShell, the information
found in the above documents of Microsoft’s is fully applicable to the
ActiveRoles Management Shell for Active Directory.

Recently, I was trying to export all the Proxy Addresses from some users, so this cmdlets turned out to be very handy. Here’s the command I ran:

Get-QADUser -DontUseDefaultIncludedProperties -ObjectAttributes @{mail='*'} -IncludedProperties sAMAccountName,distinguishedName,mail,userPrincipalName,proxyAddresses  -SerializeValues -SizeLimit 0 | Export-Csv 'C:\proxyAddresses.csv'

And here’s the full list of the available cmdlets: