How to:
If you want to map the the Fax-Number from the Microsoft AD facsimileTelephoneNumber to the UCS LDAP, you have to create an custom Attribute for and the localmapping.py.
You get more informations in the following links about the localmapping.py.
Step 1: Create the custom Attribute
You need the domain name from your system:
hostname -d
Output:
Now you could create the custom Attribute via UDM and replace your domain name in the DN:
udm settings/extended_attribute create --position "cn=custom attributes,cn=univention,$(ucr get ldap/base)" \
--set name=facsimileTelephoneNumber \
--set shortDescription=FaxNumber \
--set tabName=Contact \
--set translationTabName="de_DE Kontakt" \
--set CLIName=facsimileTelephoneNumber \
--set mayChange=1 \
--set multivalue=1 \
--set module="users/user" \
--set objectClass=organizationalPerson \
--set ldapMapping=facsimileTelephoneNumber
Check the created object:
udm settings/extended_attribute list --filter cn=facsimileTelephoneNumber
Output:
DN: cn=facsimileTelephoneNumber,cn=custom attributes,cn=univention,dc=example-ad,dc=org
CLIName: facsimileTelephoneNumber
ldapMapping: facsimileTelephoneNumber
name: facsimileTelephoneNumber
Step 2: Create a new localmapping.py to sync the Fax-Number
If you don’t have created a localmapping.py before, you have to create this under the path.
/etc/univention/connector/ad/localmapping.py
Hint
Be carefully with setting the correct tabs and spaces, because Python is a bit sensitive with that, so you don’t run into a failure.
Add this entries to the mapping:
import univention.connector
def mapping_hook(ad_mapping):
ad_mapping['user'].post_attributes['facsimileTelephoneNumber'] = \
univention.connector.attribute(
ucs_attribute='facsimileTelephoneNumber',
ldap_attribute='facsimileTelephoneNumber',
con_attribute='facsimileTelephoneNumber'
)
return ad_mapping
Now you have restart the service for the AD-Connector with to make the new mapping guilty:
systemctl restart univention-ad-connector.service
Check in the following log File if the new Entries are take over.
/var/log/univention/connector-ad-mapping.log
'facsimileTelephoneNumber': univention.connector.attribute(
compare_function = univention.connector.compare_normal, # function
con_attribute = 'facsimileTelephoneNumber',
con_attribute_encoding = 'UTF-8',
ldap_attribute = 'facsimileTelephoneNumber',
single_value = True,
sync_mode = 'sync',
ucs_attribute = 'facsimileTelephoneNumber'
Step 3: Possible troubleshooting
In the following log File, you could check the AD-Status and will see which issue is happen.
/var/log/univention/connector-ad-status.log