By default, the IP phone filed is not enabled in outlook address book. You can add IP phone field by editing details template on Exchange server.
Please see this article -Step by step 0n Exchange 2007
https://www.simple-talk.com/sysadmin/exchange/customizing-the-outlook-address-book/
Please see the same article here from the above link .
------------------------------------------------------
To start the Details Template Editor in Exchange 2007 RTM:
- On the taskbar, click Start, and then click Run.
- Type “mmc” in the Open field.
- On the Console menu bar, click File, and then click Add/Remove Snap-in.
- In Add/Remove Snap-in, on the Standalone tab, click Add.
- In Add Standalone Snap-in, select Details Templates Editor from the list of available stand-alone snap-ins, and then click Add.
- Click Close to close the Available Snap-ins dialog box, and then click OK on the Add/Remove Snap-in dialog box.
- Launch the Exchange Management Console
- Select Toolbox in the console tree
- Double-click Details Template Editor in the results pane
Figure – Exchange Details Template Editor
Note: In order to use the Details Template Editor you need
to be delegated the Exchange Organization Administrator role.
In my case I needed to edit the English User template – to open the template
for editing double-click it and the template editor window is shown.
Figure – Editing the English User template
The template editor is divided into three panes: the toolbox pane on the
left, the designer pane in the centre, and the properties pane on the right.
New fields can be added to the template by selecting the appropriate element
type in the toolbox pane, placing the element in the designer pane, and linking
it to an object attribute in the properties pane. The properties pane can also
be used for fine-grained control over the size and position of elements as well
as tab order and text size.
Note: The template editor does not include any undo
functionality – you cannot undo any changes made in the editor, but the template
can be reverted back to default settings. Templates are restored by
right-clicking the template to be restored and selecting “Restore”.
The object attributes which can be displayed on a template are limited to
those provided by Microsoft. While it is technically possible to extend the set
of attributes by modifying the Active Directory schema, doing so is not
supported by Microsoft. If additional attributes which are not in the standard
set are required the supported method of displaying the data is to use one of
the fifteen Exchange extension attributes.In my case I wanted to use the Active Directory attribute IpPhone, which had already been populated with the IP telephone numbers for our staff. As this attribute is not one included in the standard set I had to copy the data to another attribute which could be used. To do this I copied the data from the IpPhone attribute on each user record in AD to the Exchange extension attribute extensionAttribute1. The easiest way to do this in the Exchange Management Shell is with a short script.
This script will copy the value of the IpPhone attribute to the Exchange extensionAttribute1 attribute for all enabled user objects:
# Script
to copy the IpPhone attribute the extensionAttribute1 attribute
# Written by Ben Lye - 07 December 2009
# Find the users in AD using an ADSI search method
$searcher = new-object DirectoryServices.DirectorySearcher([ADSI]"")
# Filter for enabled user accounts with a value in the IpPhone attribute $searcher.filter = "(&(IpPhone=*)(objectCategory=person)(!(useraccountcontrol:1.2.840.113556.1.4.803:=2)))"
# Return the sorted results
$objects = $searcher.findall() | Sort-Object -Property cn
# Loop through all the objects that the search returned
ForEach ($object in $objects) {
# Store some attribute values into variables
$ipphone = $object.properties.ipphone
$extensionattribute1 = $object.properties.extensionattribute1
$dn = $object.properties.distinguishedname
$adspath = $object.properties.adspath
# If IpPhone is not equal to extensionAttribute1 then process this object
If ($ipphone -ne $extensionattribute1) {
# Get the ADSI object
$adsiobject = [ADSI]"$adspath"
# Set the attribute
$adsiobject.extensionattribute1 = $ipphone
# Commit the changes
$adsiobject.SetInfo()
# Output what just changed
Write-Host $dn ":" $extensionAttribute1 "-->" $IpPhone
}
}
Once the data is in an attribute which can be exposed via the details
templates, then modifying the templates is relatively easy. An existing element
can be re-labelled and linked to the new data, or a new element can be added.
When modifying or adding elements, you must match the element type to the AD
field type – single-valued elements (checkbox or edit box) must be used for
single-valued AD attributes (such as primary telephone number fields), and
multi-valued attributes (listbox, multivalued dropdown and multivalued listbox)
should be used for multi-valued AD attributes (such as ‘other’ telephone number
fields). Mismatching single and multi-valued elements and AD attributes will
result in data not displaying.# Written by Ben Lye - 07 December 2009
# Find the users in AD using an ADSI search method
$searcher = new-object DirectoryServices.DirectorySearcher([ADSI]"")
# Filter for enabled user accounts with a value in the IpPhone attribute $searcher.filter = "(&(IpPhone=*)(objectCategory=person)(!(useraccountcontrol:1.2.840.113556.1.4.803:=2)))"
# Return the sorted results
$objects = $searcher.findall() | Sort-Object -Property cn
# Loop through all the objects that the search returned
ForEach ($object in $objects) {
# Store some attribute values into variables
$ipphone = $object.properties.ipphone
$extensionattribute1 = $object.properties.extensionattribute1
$dn = $object.properties.distinguishedname
$adspath = $object.properties.adspath
# If IpPhone is not equal to extensionAttribute1 then process this object
If ($ipphone -ne $extensionattribute1) {
# Get the ADSI object
$adsiobject = [ADSI]"$adspath"
# Set the attribute
$adsiobject.extensionattribute1 = $ipphone
# Commit the changes
$adsiobject.SetInfo()
# Output what just changed
Write-Host $dn ":" $extensionAttribute1 "-->" $IpPhone
}
}
I decided to replace “Assistant” on the “General” tab of the user details with the new IP phone number. To complete my changes I opened the English user details template, changed the label text from “Assistant” to “IP phone”, and changed the AttributeName property of the element from “ms-Exch-Assistant-Name” to “ms-Exch-Extension-Attribute-1”.
Figure – Editing the elements
After saving the change to the template the changes are immediately available
to Outlook clients which are not in cached-mode. Cached-mode clients will need
to wait for the offline address book to be updated and a full download of the
offline address book to occur (which by default in Outlook 2007 is only
attempted once in a 13-hour period). The server update of the offline address
book can be forced to run by running Get-OfflineAddressBook |
Update-OfflineAddressBook and Get-ClientAccessServer |
Update-FileDistributionService -Type OAB in the Exchange Management
Shell.Once the server-side update has run and the client has downloaded the new templates the changes will be visible in the address book.
Figure – The new details template in Outlook
Editing the details templates is relatively easy, but like all things
Exchange careful planning will make implementing the changes much easier. When
planning for template changes it’s important to know what type of data you
intend to add to the templates, and understand that while not all data in AD can
be exposed directly to the Outlook Address Book there are workarounds
available.------------------------------------------------
Please see the article on Exchange 2010 for modifying details template:
http://technet.microsoft.com/en-us/library/bb124525.aspx
Source from Ben Lye article https://www.simple-talk.com/sysadmin/exchange/customizing-the-outlook-address-book/
please use it based on your knowledge. This site and I are not responsible for any of your actions and results.
Have a nice day!
No comments:
Post a Comment