Exchange Geek's Weblog

I'm a Geek!

Archive for the ‘Exchange 2007’ Category

How to add Employee Numbers in ADUC and Exchange GAL

Posted by Milind Naphade on 06/05/2010

Some companies need to use AD to store their Employee Numbers or Employee IDs but due to limitations in ADUC MMC most of the people don’t tend to do this.

I am not very sure how frequently some company needs this but one of my friend needed it for sure. 🙂 I did this in my labs few months ago and worked on at least 3 production environments too. I thought I can share this with everyone who reads at my blog. However, the steps I am going to show in this blog post will only apply to Exchange 2007 and Exchange 2010 GAL. Also, the templates editor tool that we are going to use does not show Employee ID field in the bindings page.

There are few steps involved in doing this:

  1. A simple VB script stored at some location on network.
  2. Schema Admin group membership to the user account you are going to carry out this operation with.
  3. Exchange Organization Administrator group membership.

Using the Visual Basic Script

  • Copy and Paste the below text in a notepad file and save it as .vbs

On Error Resume Next
Dim objemployeeID
Dim objUser
Dim ObjTemp
Set objemployeeID = Wscript.Arguments
Set objUser = GetObject(objemployeeID(0))
objTemp = InputBox("Current Employee ID: "& objUser.employeeNumber & "If you would like to enter a new number of modify the exisitng number, enter the new number in the textbox below")
if objTemp <> "" then objUser.Put"employeeNumber",objTemp
If Err.Number = "-2147024891" Then
MsgBox "Your current account does not have permissions to modify the Employee-ID attribute. Please log on with an account with appropriate permissions.",16,"Permission Denied"
End If
Set ObjUser = Nothing
Set objemployeeID = Nothing
Set objTemp = Nothing

  • Rename this file to .vbs and store at some network share e.g. \\servername\ADScripts\EmpID.vbs . The only idea behind storing this script on a network location is to keep this available even the ADUC is used from client computers.

Editing Schema and User Display Configurations in AD configuration partition:

Warning: It is highly recommended that you back up your Active Directory before modifying anything in schema. Incorrect changes in schema can cause undesired behavior of Active Directory Services.

  • Logon to any domain controller with Schema Admin privileges.
  • Click Start –> Run and type regsvr32 schmmgmt.dll and hit enter.
  • Click OK on the information dialog that appears on the screen
  • Click Start –> Run and type MMC and press enter.
  • In MMC click File menu and select Add/Remove Snap-In.
  • Click on Add button on Add/Remove Snap-in page.
  • Select Active Directory Schema from the list that appears on the screen.
  • Click Add and click Close and click Close.
  • Expand Classes in Active Directory Schema Snap-in and locate class person.
  • Right click on class person, select Properties and click on Attributes tab.


  • Click on Add button and select employeeID


  • Repeat above step to add employeeNumber as well.
  • Now open ADSIEDIT.MSC and locate CN=user-Display,CN=409,CN=DisplaySpecifiers,CN=Configuration,DC=domain,DC=com
  • Right click on CN=user-Display and select Properties.
  • Locate the attribute adminContextMenu on Attribute Editor page and click Edit button.
  • Type ,&Employee-ID,\\adpun3\AD Scripts\EmpID.vbs exactly as shown in figure below and click Add button. (I recommend copy and paste the text in red color)


  • Click OK button and exit the ADSIEDIT.msc
  • Now open Active Directory Users and Computers and locate the user account you want to modify the Employee ID for. You will see an additional context menu item in when you right click on the desired user object.


  • A new pop up appears when you click the above context menu. You can enter or modify the Employee ID for the select user account using the the pop up.


Adding Employee ID field in Exchange 2007 Global Address List

  • Now to make this Employee ID field visible in Exchange 2007 Global Address list you can use Details Templates Editor tool from Exchange 2007 EMC.
  • Logon to your Exchange 2007 Server with Organization Administrator and open Exchange Management Console.
  • Locate and Open Details Templates Editor Tool from Toolbox node in EMC.
  • Locate the template for User type and Language English (United States) and click Edit from Actions pane. Refer below figure.


  • A new Editor Opens on the screen. Select a Label and a Edit controls from Tools pane in the opened Editor window and place them at your desired location.


  • Add details to the Label control using property editor pane in the editor tool. To do this, select The Label control that you just dragged and dropped on the template and add the text in properties pane.


  • Add details to Edit control and bind it to specific attribute in AD. To do this, select the Listbox control and select Employee ID attribute from Properties pane.


  • Save the edited template by selecting File Menu and Save.
  • Exchange GAL will show the details as shown below. If you are using outlook in cached mode then you will have to wait till the OAB is generated.


I hope you find this useful and can use when you require this. Do let me know if you have any comments on the post.

Posted in Active Directory, Exchange 2007, Exchange 2010, Outlook | Tagged: , | 20 Comments »

The client operation failed. Error is [0x80004005-0x0004b9-0x000501]

Posted by Milind Naphade on 22/04/2010

Our server engineering team was investigating an issue on a bounce back a user got and the whole team spent a lot of time researching on below message.

From: System Administrator
Sent: Tuesday, April 20, 2010 4:53 PM
Cc: Recipient Name
Subject: Undeliverable: Trainings

Your message did not reach some or all of the intended recipients.

Subject: RE: Trainings

Sent: 4/20/2010 4:45 PM

The following recipient(s) cannot be reached:

Recipient on 4/20/2010 4:53 PM

This message could not be sent. Try sending the message again later, or contact your network administrator. The client operation failed. Error is [0x80004005-0x0004b9-0x000501].

At the first glance it seems like a problem with permissions on recipient mailbox. However,the error "0x80004005-0x0004b9-0x000501" comes from trying to submit a message on the Exchange transport. The code 0x0004b9 is an ecNullObject from Store, indicating that the failure occurred because an object referenced was null. This implies that this user was having some intermittent networking issue that happened to hit at the time the message was submitted.

This behavior is by design and the error is expected when network failures occur. If your computer is connected via wireless or a WAN link, then random failures on the network can be common, and that would explain the behavior. Even on a local area network, RPC failures are not uncommon.

In general, this problem is likely caused by intermittent network connectivity issues, or possibly out-of-resource problem on the client machine.

I suggest getting back to the user and requesting them to re-submit the message if similar kind of problem occurs in future as well.

Posted in Exchange 2003, Exchange 2007, Transport | Comments Off on The client operation failed. Error is [0x80004005-0x0004b9-0x000501]

Update Rollup 3 for Exchange Server 2007 Service Pack 2

Posted by Milind Naphade on 20/03/2010

Exchange Team announced the release of RU 3 for Exchange Server 2007 SP2 on Friday, March 19, 2010.

Update Rollup is available for download Here

This Update Rollup addresses the recent issues mentioned below:

976108 ( ) "451 4.4.0 DNS Query Failed" status message in an Exchange Server 2007 Edge Transport server

976460 ( ) Later updates do not match a calendar item that an Exchange Server 2007 user updates by using Exchange ActiveSync on a mobile device

977179 ( ) You receive an "0x800423f0" error message when you perform system state backups on the passive node of Windows Server 2008-based Exchange Server 2007 CCR clusters

977531 ( ) An external recipient misses the last occurrence of a recurring meeting request or a recurring appointment that is sent from an Exchange Server 2007 user

977923 ( ) The Edgetransport.exe process crash when it process meeting requests in Exchange Server 2007

978137 ( ) The subject of a confirmation message is garbled for certain languages when a remote device wipe operation is performed in Exchange Server 2007

978200 ( ) The sender address of a forwarded meeting request does not include "on behalf of" as expected in an Exchange Server 2003 organization and an Exchange Server 2007 organization mixed environment

978253 ( ) A SSL certificate validation error is generated on an Exchange Server 2007 server when you run any test commands after you run the Test-SystemHealth command

978469 ( ) A mailbox that was moved from an Exchange Server 2007 server to an Exchange Server 2010 server cannot be accessed by using Outlook

978517 ( ) The Microsoft Exchange Information Store service stops responding on an Exchange Server 2007 server

978521 ( ) The synchronization and the reconciliation between Microsoft Office Outlook and a BlackBerry mobile device fails when a mailbox is moved around between two Exchange Server 2007

978528 ( ) The Microsoft Exchange Information Store service crashes on a Microsoft Exchange Server 2007 server when a user tries to access a specific calendar item

978832 ( ) Read items are marked incorrectly as unread items in an Exchange Server 2007 public folder

979055 ( ) A delegate cannot save three settings of Resource Settings for an Exchange Server 2007 resource mailbox in OWA

979170 ( ) You receive an error message when you use ExBPA to schedule a scan on an Exchange Server 2007 SP2 server

979219 ( ) The store.exe process hangs on an Exchange Server 2007 server


People installing Exchange Server 2007 updates/update rollups or service packs on a clustered server role must read:

How to Install the Latest Service Pack or Update Rollup for Exchange 2007


Applying Exchange 2007 Update Rollups to Clustered Mailbox Servers

Posted in Exchange 2007, News | Comments Off on Update Rollup 3 for Exchange Server 2007 Service Pack 2

Week Numbers 1 week ahead in Outlook

Posted by Milind Naphade on 05/03/2010

Today when I came in office I saw an email from my boss. He was asked by one the bussiness heads that why the week numbers in outlook would show one week ahead?

Here is a little background about the week numbers:

Week number according to the ISO-8601 standard, weeks starting on Monday. The first week of the year is the week that contains that year’s first Thursday. The highest week number in a year is either 52 or 53 and outlook is fully compliant to this specification.

Normally, when we configure the outlook profile we do not pay much attention to a very small calendar setting which actually manages all this week number related stuff. Its pretty simple to configure. In common situations the calendar is configured to use the 1 Jan of the year as the first week of the year. Which results in this mismatch of outlook calendar numbering.

 To correct it you can simply go to 

Tools –> Options –> Calendar Options –>


Posted in Exchange 2003, Exchange 2007, Outlook | Comments Off on Week Numbers 1 week ahead in Outlook