Category Archives: Exchange Server 2010

Exchange Server 2010

Generating Fancy Exchange Environment Reports using PowerShell

Hello ;

Today I found a nice shell script that generate a a good looking report about the entire Exchange Environment. i couldn’t believe that you can create such colourful HTML report with Power Shell script .

here is the link :


Report screen shoot :

How to run it:

in Exchange shell run this:

.\Get-ExchangeEnvironmentReport  -HTMLReport c:\report.html

enjoy it..



Exchange Server 2010 Poster

Hello ppl ,

this morning I found a great poster , I think any messaging administrator must put it in his bed room , and has to have a look at it every night before sleep

Exchange Server 2010 Poster

Enjoy it 😛


Shut Down Exchange 2010 DAG member

by Gil Kreslavsky ..

While performing maintenance to Exchange 2010 DAG server you should first remove the DAG member from DAG group.Other wise you may have unwanted DB failovers and many other unexpected issue that may affect company mail services availability

Shutting Down DAG Members

The Exchange 2010 high availability solution is integrated with the Windows shutdown process. If an administrator or application initiates a shutdown of a Windows server in a DAG that has a mounted database that’s replicated to one or more DAG members, the system attempts to activate another copy of the mounted database prior to allowing the shutdown process to complete.

However, this new behavior doesn’t guarantee that all of the databases on the server being shut down will experience a lossless activation. As a result, it’s a best practice to perform a server switchover prior to shutting down a server that’s a member of a DAG.

The correct way to perform any maintenance is to run first  StartDagServerMaintenance.ps1 script that is located under “C:\Program Files\Microsoft\Exchange Server\V14\scripts”
This script moves all the active databases to next preferred DAG server and prevents active databases from moving to that server during the maintenance.
In addition the script ensures that all critical DAG support functionality that may be on this server has been moved to next proffered server

To run the script open EMC
cd $exscripts
StartDagServerMaintenance.ps1 -server YourServername

The script performs the following tasks on the background:

  • Runs the Suspend-MailboxDatabaseCopy cmdlet for each database copy hosted on the DAG member  with activationonly parameter .
  • Pauses the node in the cluster, which prevents the node from being and becoming the PAM.
  • Sets the value of the DatabaseCopyAutoActivationPolicy parameter on the DAG member to blocked
  • Moves all active databases currently hosted on the DAG member to other DAG members.
  • If the DAG member currently owns the default cluster group, the script moves the default cluster group (and therefore the PAM role) to another DAG member.

If any of the preceding tasks fails, all operations, except for successful database moves, are undone.

After the maintenance is complete and the DAG member is ready to return to serve clients you need to run the following script:

cd $exscripts
StopDagServerMaintenance.ps1 -server YourServername

The script performs the following tasks on the background:

  • Runs the Resume-MailboxDatabaseCopy cmdlet for each database copy hosted on the DAG member.
  • Resumes the node in the cluster, which enables full cluster functionality for the DAG member.
  • Sets the value of the DatabaseCopyAutoActivationPolicy parameter on the DAG member to Unrestricted

I highly recommend using  Start/StopDagServerMaintenanceInstalling maintainance scripts before any action that requiers server Reboot/ShutDown or Update Rollups instalation.

Most of the material has been taken from Managing Database Availability Groups MS article



High availability and Edge server role.

Many exchange experts prefer multiple Edge servers with external IP then creating multiple MX records. With same or different priority.

But what if you don’t have enough real IPs and you want High availability for Edge Server Role?

I have tried the following approach and its working nice:

I have used windows Network load balancing between edge servers then make the external firewall nating the inbound traffic to external IP to the virtual IP of the NLB, and make outgoing traffic from each edge server to go through the external real IP


Tags: ,