کد:
http://www.messagingtalk.org/exchange-details-templates
Details Templates are used by the MAPI client or any MAPI application, such as Outlook, to display object information available in Active Directory by using address list. When any user tries to access the address list in Outlook and checks the properties of any mail enabled AD object, a specific design template will be presented to display information. Default design of User detail template in Outlook 2007 is shown in below figure.

Powershell cmdlets to manage Details Templates:
We have three powershell cmdlets to get the information about details templates and to manage them. You can get list of Details Templates cmdlets with Get-ExCommand cmdlet.
Get-ExCommand *DetailsTemplate*

You can get information about en-US details templates using Get-DetailsTemplate cmdlet.
Get-DetailsTemplate | Where{$_.Identity -like "*en-US\*"} | Format-List Identity, DistinguishedName

So where do these details templates are stored? Those are stored in Active Directory under configuration Partition at below location.
Configuration Partition | Services | Microsoft Exchange | <Exchange Org Name> | Addressing | Display-Templates

Details Templates Editor

Where do we find Details Templates Editor tool to modify design?

  • In Exchange 2007 RTM, You need to add "Details Templates Editor" snap-in to a Microsoft Management Console (MMC).
  • In Exchange 2007 SP1, You can find it in Exchange Management Console -> Toolbox.

You need to have Exchange Organization Administration role to modify details templates.
Details Templates are available for Six various Microsoft Outlook Objects in each supported language.
1. Search Dialog
2. User
3. Group
4. Public Folder
5. Mailbox Agent
6. Contact
So when you try to modify User Details Template for English (United State) language, you will be presented with below editor window. Left side you can find Toolbox pane from where you can select various objects to drag and drop into Designer pane. Right hand side you can find Properties pane to change properties of object dropped into designer pane.

So now let's say I want to add IP Phone into details template but when I try to select an attribute 'IPPhone' available in AD to display into Address List, I can NOT find it in attribute list because here fairly limited set of attributes available to select.
So how Details Templates editor or MAPI client chooses attribute to made available in address list? You can only get the list of attributes which have mAPIID attribute value set in Schema. The MAPI-ID Attribute is an integer by which MAPI clients identify a particular attribute in the active directory. So pretty simple, IPPhone attribute doesn't have mAPIID attribute set in Schema.
So can I add IPPhone attribute to this list? Yes, you can. There are possible ways to set mAPIID attribute and then it will be available into this list to select but this procedure requires Schema modification (procedure is explained here by Jim McBee). This modification will put your Exchange Organization out of Microsoft Support boundaries and here are reasons mentioned by Dave Goldman from Support standpoint.
What is NOT supported.
1. The reason why we do not offer the steps on how to do this is because it has not been tested and therefore is not supported on any version of Microsoft Exchange.
2. Trying to add custom mAPIID's causes schema modifications which can leave your system in an unstable state. These changes can and often do make more problem that what it is worth.
3. Installing another software applications might modify the schema and may change your mAPIID value back to its original value thus breaking what you setup.
4. We also do not support re-using existing MAPI IDs for other attributes, therefore Microsoft development *will not* fix any issues or bugs that may arise from you making this type of change.
5. This is the Exchange Product Groups official stance!
So what is supported.
1. The official recommendation is to use one of the 15 custom Exchange extension attributes that have been added to the interface for you to use.
So in our scenario, to made IP Phone information available in Outlook Address List, choose anyone of the extension attributes. Let's say I choose ms-Exchange-Extension-Attribute14 to display IP Phone information of users and this will not breach Microsoft support boundary.

How do I copy value of IP Phone attribute to Extension Attribute 14?
Exchange 2007 has the power of Powershell and if you use Quest Powershell Cmdlets for Active Directory (which works in Exchange 2003 environment also) then it would be very simple to copy value of one attribute to another with oneliner.
Below cmdlet will copy the value of IPPhone AD attribute to Exchange Extension Attribute 14 for existing users.
[PS] C:\>Get-QADUser -SizeLimit 0 -IncludedProperties IPPhone, ExtensionAttribute14 | Set-QADuser -ObjectAttributes {@{ExtensionAttribute14="$($_.IPPhone)"}}
You can verify that above cmdlet has copied IPPhone AD attribute to Exchange Extension Attribute 14 properly.
[PS] C:\>Get-QADUser -IncludedProperties IPPhone, ExtensionAttribute14 | Select Name, IPPhone, ExtensionAttribute14
So for the users which are going to be created in future, you may change the procedure in the process document who creates or updates the users in your Exchange environment to copy the value. You can also schedule a short of powershell script to run daily and copy attributes for the users who are created in last 24 hours.
Restore the Details Templates Changes

You can revert the changes of Details Templates Editor back to original state without modifying all changes back to original setting one by one.
Exchange Management Console: Open Details Templates Editor in Toolbox of Exchange Management Console, select the template which you want to restore and click Restore in Actions pane.
Exchange Management Shell: Restore-DetailsTemplate cmdlet restores the original and default template.
Example:

کد:
Restore-DetailsTemplate "en-US\User"




موضوعات مشابه: