Configure Postmaster, Microsoft Exchange Recipient and NDR forwarding in Exchange Server 2007 and 2010

Postmaster for external messages
In Exchange 2007 and 2010 it is considered best practice to configure a postmaster address in the organization. It is also a requirement to set a postmaster for all SMTP domains according to RFC 2821:

The postmaster address is used to send system-generated messages and notifications.

To set the postmaster address use the following command:
Set-TransportConfig -ExternalPostmasterAddress <email address>

For example:
Set-TransportConfig -ExternalPostmasterAddress

Microsoft Exchange Recipient for internal messages
There is also another type of recipient configuration that you need to do if you want to be able to monitor NDRs. The Microsoft Exchange recipient is a special recipient object that can be compared to an internal postmaster. The HUB transport servers forwards internal NDRs to this recipient and not the the Postmaster.

To configure an recipient for the Microsoft Exchange recipient  use the following command:
Set-OrganizationConfig –MicrosoftExchangeRecipientReplyRecipient <String>

The String can be one of the following:

  • Distinguished name (DN)
  • Canonical name
  • GUID
  • Name
  • Display name
  • Alias
  • Exchange DN
  • Primary SMTP e-mail address

Note that if the MicrosoftExchangeRecipientReplyRecipient is not configured all messages sent to the Microsoft Exchange recipient will be discarded.

NDR forwarding
Sometimes you have the need to monitor the NDRs sent through the organization. To be able to do that you will have to configure the transport configuration to send a copy of the NDRs to a specific mailbox. Note that this affects the entire organization and not a single transport server.

Using the the GenerateCopyOfDSNFor parameter you can specify which DNS codes that will be forwarded. To save you some work, Microsoft has enabled monitoring for  the following DNSs:

  • 5.4.8
  • 5.4.6
  • 5.4.4
  • 5.2.4
  • 5.2.0
  • 5.1.4

To configure forwarding use the following command:
Set-TransportConfig -GenerateCopyOfDSNFor <DSN1, DSN2, DSN3, …>

Set-TransportConfig -GenerateCopyOfDSNFor 4.4.7,5.5.2,5.7.3

Note that the use of GenerateCopyOfDSNFor requires you to configure the Microsoft Exchange recipient and/or ExternalPostmasterAddress.

OCS 2007 R2 – Deploy Server Wizard Has Failed

Recently I was doing an installation of OCS 2007 R2 Standard and I got this message when running the installation wizard:


In the log I found the following error message:

[0xC3EC796C] One or more errors occurred during execution of the wizard; the wizard was unable to complete successfully. Please check the log file for more information.


And when looking a bit further, following the link provided in the first message i found this error message:

[0xC3EC78D8] Failed to read the Office Communications Server version information. This can happen if the computer clock is not set to correct date and time.



According to Microsoft this can be related to Security Update for Microsoft Windows (KB974571). There are two things you can do to resolve this issue.

  1. Uninstall update KB974571.
  2. There is a fix available from Microsoft. Look under section “Resolution for these known issues” on the following link:

Multiple Updates for Exchange Server

Microsoft has released a number of different updates for Exchange Server 2000, 2003, 2007 and 2010.

This is as part of a important Microsoft Security Bulletin that addresses issues in Exchange and the SMTP service that could allow denial of service.

Security Update for Exchange 2000 Server
This update needs to be requested. Description:

Security Update for Exchange Server 2003 Service Pack 2
This update needs to be requested. Description:

Update Rollup 10 for Exchange Server 2007 Service Pack 1

Update Rollup 4 for Exchange Server 2007 Service Pack 2 Description:

Update Rollup 3 for Exchange Server 2010

Happy Updating!

Prevent double bookings of resources in Exchange 2007 and 2010

Exchange 2007

This is easily done with powershell. Use the following syntax to set AllowConflicts to $false:

Set-MailboxCalendarSettings -Identity <mailbox identity> -AllowConflicts:$false

If you want to set this on all room mailboxes in one command use the following:

Get-Mailbox | where {$_.ResourceType -eq “Room” } | Set-MailboxCalendarSettings -AllowConflicts:$false

To check that this actually worked you can use the following command:

Get-MailboxCalendarSettings -Identity <mailbox identity> | fl

Confirm that AllowConflicts is set to $false.

Exchange 2010

In Exchange 2010 the MailboxCalendarSettings har been removed and you should use Set-CalendarProcessing instead:

Set-CalendarProcessing -Identity <mailbox identity> -AllowConflicts:$false

If you want to set this on all room mailboxes in one command use the following:

Get-Mailbox | where {$_.ResourceType -eq “Room” } | Set-CalendarProcessing -AllowConflicts:$false

And to make sure that it worked:

Get-CalendarProcessing -Identity <mailbox identity> | fl

Exchange Server 2010 Service Pack 1

No, it hasn’t been released yet, but the guys over at Microsoft have published some information on what its going to include. They have also promised a beta this June. You can find more information on this here: