Become a Columnist Microsoft Exchange Site Microsoft Support SiteMSDN Exchange Site

   

Subscribe to OutlookExchange
Anderson Patricio
Ann Mc Donough
Bob Spurzem
Brian Veal
Catherine Creary
Cherry Beado
Colin Janssen
Collins Timothy Mutesaria
Drew Nicholson
Fred Volking
Glen Scales
Goran Husman
Guy Thomas
Henrik Walther
Jason Sherry
Jayme Bowers
John Young
Joyce Tang
Justin Braun
Konstantin Zheludev
Kristina Waters
Kuang Zhang
Mahmoud Magdy
Martin Tuip
Michael Dong
Michele Deo
Mitch Tulloch
Nicolas Blank
Pavel Nagaev
Ragnar Harper
Ricardo Silva
Richard Wakeman
Russ Iuliano
Santhosh Hanumanthappa
Steve Bryant
Steve Craig
Todd Walker
Tracey J. Rosenblath
 
 

MIIS Deployment for Exchange 5.5

Export Attribute Flow (Send to AD from Metaverse)

Here are the current flow settings for the AD MA. You can see from this table, that we required some specialized code to manipulate the data. We are forcing an entry to the msExchPoliciesExcluded  field which well disable RUS manipulation of our entry. We are also formatting the country codes. 

Export Attribute Flow

Data Source Attribute

To

Metaverse Attribute

Mapping Type

Allow Nulls

contact

-

Metaverse_Contact

-

-

cn

<--

cn

Direct

-

company

<--

company

Direct

-

department

<--

department

Direct

-

displayName

<--

displayName

Direct

-

facsimileTelephoneNumber

<--

facsimileTelephoneNumber

Direct

-

givenName

<--

givenName

Direct

-

initials

<--

initials

Direct

-

mail

<--

mail

Direct

-

mailNickname

<--

mailNickname

Direct

-

mobile

<--

mobile

Direct

-

pager

<--

pager

Direct

-

postalCode

<--

postalCode

Direct

-

sn

<--

sn

Direct

-

streetAddress

<--

streetAddress

Direct

-

st

<--

st

Direct

-

telephoneNumber

<--

telephoneNumber

Direct

-

targetAddress

<--

targetAddress

Direct

-

title

<--

title

Direct

-

textEncodedORAddress

<--

textEncodedORAddress

Direct

-

mAPIRecipient

<--

MapiRecipient

Direct

-

l

<--

l

Direct

-

msExchHideFromAddressLists

<--

msExchHideFromAddressLists

Direct

Allow

o

<--

o

Direct

-

postalAddress

<--

streetAddress

Direct

-

physicalDeliveryOfficeName

<--

physicalDeliveryOfficeName

Direct

-

c

<--

c

Rules Extension - cd.contact:c<-mv.Metaverse_Contact:c

Allow

msExchPoliciesExcluded

<--

-

Constant - {26491CFC-9E50-4857-861B-0CB8DF22B5D7}

-

proxyAddresses

<--

proxyAddresses

Direct

-

 

 

 

 

Import Attribute Flow (Send to Metaverse from AD)

Is with Exchange, importing AD information into the metaverse requirs much more work in that we needed to reformat, clean and construct new fields based on information collected from other fields. While there are many mapping rules here, only three custom mapping rules were required as AD synchronizes with the MV much easier than Exchange 5.5.

Import Attribute Flow

Data Source Attribute

To

Metaverse Attribute

Mapping Type

Precedence Order

group

-

Metaverse_Contact

-

-

cn

-->

cn

Direct

1

contact

-

Metaverse_Contact

-

-

cn

-->

cn

Direct

5

user

-

Metaverse_Contact

-

-

company

-->

company

Direct

1

contact

-

Metaverse_Contact

-

-

company

-->

company

Direct

4

user

-

Metaverse_Contact

-

-

department

-->

department

Direct

1

contact

-

Metaverse_Contact

-

-

department

-->

department

Direct

3

mail

-->

mail

Direct

4

user

-

Metaverse_Contact

-

-

mail

-->

mail

Direct

5

group

-

Metaverse_Contact

-

-

mail

-->

mail

Direct

6

user

-

Metaverse_Contact

-

-

co

-->

co

Direct

1

givenName

-->

givenName

Direct

1

contact

-

Metaverse_Contact

-

-

givenName

-->

givenName

Direct

4

user

-

Metaverse_Contact

-

-

initials

-->

initials

Direct

1

contact

-

Metaverse_Contact

-

-

initials

-->

initials

Direct

3

user

-

Metaverse_Contact

-

-

mobile

-->

mobile

Direct

1

contact

-

Metaverse_Contact

-

-

mobile

-->

mobile

Direct

3

user

-

Metaverse_Contact

-

-

title

-->

title

Direct

1

contact

-

Metaverse_Contact

-

-

title

-->

title

Direct

4

user

-

Metaverse_Contact

-

-

displayName

-->

displayName

Direct

1

group

-

Metaverse_Contact

-

-

displayName

-->

displayName

Direct

2

contact

-

Metaverse_Contact

-

-

displayName

-->

displayName

Direct

5

user

-

Metaverse_Contact

-

-

sn

-->

sn

Direct

1

contact

-

Metaverse_Contact

-

-

sn

-->

sn

Direct

4

user

-

Metaverse_Contact

-

-

facsimileTelephoneNumber

-->

facsimileTelephoneNumber

Direct

1

contact

-

Metaverse_Contact

-

-

facsimileTelephoneNumber

-->

facsimileTelephoneNumber

Direct

4

user

-

Metaverse_Contact

-

-

info

-->

info

Direct

1

mailNickname

-->

mailNickname

Direct

1

group

-

Metaverse_Contact

-

-

mailNickname

-->

mailNickname

Direct

2

contact

-

Metaverse_Contact

-

-

mailNickname

-->

mailNickname

Direct

4

user

-

Metaverse_Contact

-

-

o

-->

o

Direct

1

contact

-

Metaverse_Contact

-

-

o

-->

o

Direct

2

user

-

Metaverse_Contact

-

-

pager

-->

pager

Direct

1

contact

-

Metaverse_Contact

-

-

pager

-->

pager

Direct

4

user

-

Metaverse_Contact

-

-

postalCode

-->

postalCode

Direct

1

contact

-

Metaverse_Contact

-

-

postalCode

-->

postalCode

Direct

4

user

-

Metaverse_Contact

-

-

st

-->

st

Direct

1

contact

-

Metaverse_Contact

-

-

st

-->

st

Direct

3

targetAddress

-->

targetAddress

Direct

4

group

-

Metaverse_Contact

-

-

mail

-->

targetAddress

Rules Extension - ADtargetaddress

5

user

-

Metaverse_Contact

-

-

mail

-->

targetAddress

Rules Extension - ADtargetaddress

6

group

-

Metaverse_Contact

-

-

msExchHideFromAddressLists

-->

msExchHideFromAddressLists

Direct

1

user

-

Metaverse_Contact

-

-

msExchHideFromAddressLists

-->

msExchHideFromAddressLists

Direct

3

contact

-

Metaverse_Contact

-

-

msExchHideFromAddressLists

-->

msExchHideFromAddressLists

Direct

5

user

-

Metaverse_Contact

-

-

postalAddress

-->

streetAddress

Direct

1

street

-->

streetAddress

Direct

2

streetAddress

-->

streetAddress

Direct

3

contact

-

Metaverse_Contact

-

-

streetAddress

-->

streetAddress

Direct

6

postalAddress

-->

streetAddress

Direct

7

user

-

Metaverse_Contact

-

-

telephoneNumber

-->

telephoneNumber

Direct

2

contact

-

Metaverse_Contact

-

-

telephoneNumber

-->

telephoneNumber

Direct

4

user

-

Metaverse_Contact

-

-

sAMAccountName

-->

uid

Direct

1

group

-

Metaverse_Contact

-

-

displayName

-->

uid

Direct

2

contact

-

Metaverse_Contact

-

-

mailNickname

-->

uid

Direct

5

user

-

Metaverse_Contact

-

-

proxyAddresses

-->

proxyAddresses

Direct

4

group

-

Metaverse_Contact

-

-

proxyAddresses

-->

proxyAddresses

Direct

5

contact

-

Metaverse_Contact

-

-

proxyAddresses

-->

proxyAddresses

Direct

6

user

-

Metaverse_Contact

-

-

textEncodedORAddress

-->

textEncodedORAddress

Direct

1

group

-

Metaverse_Contact

-

-

textEncodedORAddress

-->

textEncodedORAddress

Direct

3

contact

-

Metaverse_Contact

-

-

textEncodedORAddress

-->

textEncodedORAddress

Direct

4

user

-

Metaverse_Contact

-

-

mAPIRecipient

-->

MapiRecipient

Direct

2

contact

-

Metaverse_Contact

-

-

mAPIRecipient

-->

MapiRecipient

Direct

4

user

-

Metaverse_Contact

-

-

l

-->

l

Direct

2

contact

-

Metaverse_Contact

-

-

l

-->

l

Direct

4

user

-

Metaverse_Contact

-

-

physicalDeliveryOfficeName

-->

physicalDeliveryOfficeName

Direct

2

contact

-

Metaverse_Contact

-

-

physicalDeliveryOfficeName

-->

physicalDeliveryOfficeName

Direct

4

user

-

Metaverse_Contact

-

-

c

-->

c

Direct

1

contact

-

Metaverse_Contact

-

-

c

-->

c

Direct

2

 

 

 

 

 


 

Configure Deprovisioning

As with Exchange, we need to select a deprovisioning method to use for our disconnected items. We did not create a specialized rules extension to control how items are removed. We feel that the standard deletion on export rule can be used to remove the target entry is the source is deleted. Because of the granular rights assignment and specific containers used for exports, we do not believe additional coding will be required. If additional coding work is required, this is the screen that you would use to specify the change.

 

 

 

Configure Extensions

This last configuration screen is used to specify which DLL is used to control the logic for this MA. Currently, there is a single extension DLL used for this MIIS environment. While this basic design works, it is not considered best-practice. Each MA should use its own extension.DLL when possible. To learn more about this concept, see the Developer Reference help file on the MIIS server or search for “Creating a Rules Extension from Multiple Sources.”

 

This is a single agent designed to synchronize an Active Directory domain with the metaverse.

MIIS Deployment for Exchange 5.5


Disclaimer: Your use of the information contained in these pages is at your sole risk. All information on these pages is provided "as is", without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Stephen Bryant or Pro Exchange. OutlookExchange.Com, Stephen Bryant and Pro Exchange shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.

Copyright Stephen Bryant 2008