User Account Attributes in AD: Part 2 Outlook LDAP Attributes (Phone/Notes Tab)

Posted by & filed under .

This article is the second in a series that offers a reference point between AD Attributes and their associated values displayed in Outlook. In this post, we explore the Phone/Notes Tab within Outlook and discuss the associated Outlook LDAP Attributes. On a semi-related note, we have included a comparison between a fairly typical VB and Powershell scripting example that demonstrates how to enumerate mandatory and optional attributes within the user class.

Outlook Attributes
Outlook Address Book General Tab – Ldap Attributes Mapping (Part 1)

ADUC Attributes
Active Directory Users and Computers – General Tab (Part 3)
Active Directory Users and Computers – Address Tab (Part 4)
Active Directory Users and Computers – Account Tab (Part 5)

Outlook LDAP Attributes: Mappings – “Phone/Notes” Fields

Here’s a mapping for Outlook LDAP Attributes within the Phone/Notes Tab:

[Move to General Tab]

outlook-phone-notes-tab-attributes

Name in Outlook LDAP Attribute Format Attribute-ID
DisplayName displayName Single 1.2.840.113556.1.2.13
Business telephoneNumber Single 2.5.4.20
Business 2 otherTelephone Multi 1.2.840.113556.1.2.18
Fax facsimileTelephoneNumber Single 2.5.4.23
Assisant telephoneAssistant Single 1.2.840.113556.1.2.79
Home homePhone Single 0.9.2342.19200300.100.1.20
Home 2 otherHomePhone Multi 1.2.840.113556.1.2.277
Mobile mobile Single 0.9.2342.19200300.100.1.41
Pager pager Single 0.9.2342.19200300.100.1.42
Notes info Single 1.2.840.113556.1.2.81
Picture thumbnailPhoto Single 2.16.840.1.113730.3.1.35

How many phone numbers can be listed against each phone type attribute?

The primary phone number fields are only able to store a single value, whilst the otherXXXXX attributes are able to store multiple values. That is, a user may have multiple “otherTelephone” numbers stored as an array but only one primary “telephoneNumber”. In addition to the fields listed above, there are a number of less visible fields, such as otherMobile and so on.

I thought telephoneNumber was already mapped out in the General Tab?

The telephoneNumber attribute is mapped in two places: The Phone number field under the general tab, and under the Phone/Notes tab it is mapped to the Business field within the “Phone numbers” section.

I thought assistant was already mapped in the General Tab?

You’d think so wouldn’t you? No – this is not the case. I guess it may seem intuitive for some, but the assistant field under the Phone/Notes field actually maps to a phone number – the telephoneAssistant attribute. This would be where the Assistant’s phone number would be stored (seems logical, I guess).

How do I retrieve a complete list of all User Attributes?

If you’d like to establish exactly which attributes are exposed through the user class, you can iteratively enumerate the information using a fairly simple VBScript. Below is a sample that should do the trick:

Option explicit
Dim u, o
Dim uClass, sClass
Dim Attrib, oAttrib

Set UClass = GetObject("LDAP://schema/user")
Set SClass = GetObject(uClass.Parent)
u = 0
WScript.Echo "Mandatory attributes:"
For Each Attrib in uClass.MandatoryProperties
  u = u + 1
  WScript.Echo u & ": " & Attrib
  Set oAttrib = sClass.GetObject("Property",  attrib)
  WScript.Echo " (Syntax: " & oAttrib.Syntax & ") - " & AttrType(oAttrib)
Next

WScript.Echo vbcrlf
Wscript.Echo "Optional attributes:"

o = 0
For Each Attrib in uClass.OptionalProperties
  o = o + 1
  WScript.Echo o & ": " & Attrib
  Set oAttrib = sClass.GetObject("Property",  Attrib)
  WScript.Echo " (Syntax: " & oAttrib.Syntax & ") - " & AttrType(oAttrib)
Next

Function AttrType(atype)
  AttrType = "Single-Valued"
  If atype.Multivalued then AttrType = "Multi-Valued" 
End Function

In our example above, we are simply attaching to the schema of the local domain and binding to the User Class. We then attach to it’s parent class and first enumerate the Mandatory Properties, followed by the Optional Properties. I never said this was anything new, and there are probably a dozen blogs and articles on this out there already. If you want some more information on this, check out this really old post that’s so old the Scripting Guy was still using VBScript!

Anyway, take a look at the Powershell version of the same kind of thing (brace yourself – it’s really long and tedious):

$Schm = [DirectoryServices.ActiveDirectory.ActiveDirectorySchema]::GetCurrentSchema();
($Schm.FindClass("user")).MandatoryProperties|select name,syntax
($Schm.FindClass("user")).OptionalProperties|select name,syntax

Well – OK; it really wasn’t that long and tedious. Yes, I’m afraid – that’s it – 3 lines….. Starting to see a reason why you should be using Powershell and leaving VB for dust…?

Stay tuned for Part three – I promise, we’ll stop talking about Outlook LDAP attributes and properties – more about User Attributes in general.

7 Responses to “User Account Attributes in AD: Part 2 Outlook LDAP Attributes (Phone/Notes Tab)”

  1. Phil R.

    Great !! Thanks a lot for this article !
    Very helpful 🙂

    Just a comment about “otherHomePhone” or “otherTelephone” which dont work. No data appear in outlook when i fill them, may be because they are in “Multi” format. Any ideas are welcome to issue. Others work correctly.

    Reply
    • Damien

      Bonjour Phil!

      Unfortunately, some of the “Other” phone fields do not appear within Outlook (eg: otherMobile). Interestingly, some smart phones (ie: Blackberry devices) sync across these “Other” phone field values and they do display them natively within the phone’s client.

      “Business 2” is definitely populated by “otherTelephone” attribute and it will show multiple entries with a drop down. I have just tested this again to confirm. Depending on how you have updated the value, it can take some time for the new value to appear (many Exchange environments rebuild the OAB overnight). Depending on individual client configuration, it may take some time for the updated value to display – worst case a couple of days. However; you have indicated that other fields are updating fine, so perhaps this is not the problem.

      Are you sure your OAB or GAL is up to date? What client/server are you using? I have heard that the otherTelephone number attribute does not appear within the OWA client. There was also an issue with Exchange 2010 prior to SP1 with this attribute.

      Reply
      • Phil R.

        Thanks for answer. I just read it 🙂

        I got always this problem. otherTelephone and otherHomePhone never sync.

        I use Apache Directory Studio to test and populate LDAP.
        I try with Outlook 2007, 2010 and 2013 fully updated. Same problem.
        Today, i tried with Active Directory LDS instead of OpenLDAP. Same problem.

        Is there a specific syntax for multivalue string ? like {“+11 111 111″,”+11 222 222”} in Apache Directory Studio. What wysiwyg software are you using to populate your LDAP ?

        Thanks for help.

        Reply
        • Damien

          What type of mail server are you using (where is the outlook client connecting to at the back end, presumably not an Exchange Server)?
          (I normally use ADSI Edit or just write scripts to do what I need)

          Reply
  2. Taner Karagol

    Hi,
    Good article. I want my users change their own account attributes, loginshell, unixHomeDirectory. How can I provide this.

    Reply
  3. Lennaert

    I’m looking for a solution where I can create a distribution list in AD LDS which I can use in Outlook. I’ve created a group which I can see in Outlook. In AD LDS I’ve added a member in that group. But when I try to mail to the group it’s not working and the member doesn’t receives his mail. In outlook I also can’t see the member of the group when I look into the group property. Please help me find a solution

    Thanks

    Len

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *