MMS FAQ

MMS 2.2 SP1 was Microsoft's last release of MMS before the new MIIS product was launched. At that time it was in use at more than 300 companies worldwide. MMS is no longer available from Microsoft.

Microsoft acquired its metadirectory technology and skills when it purchased Zoomit Corporation in 1999. Zoomit's metadirectory product, VIA 2.1, was renamed MMS 2.1 and extended and enhanced in 2000 with the release of MMS 2.2. The service pack released in 2001 gave the product a stability which has lasted to this date.

The following FAQ applies to MMS 2.2 SP1.

1. How long will MMS 2.2 SP1 be supported?
2. What platforms does MMS run on?
3. What is the recommended hardware specification for MMS?
4. What management agents does MMS include?
5. What are the string-handling functions in zscript?
6. How can a MA access or update other metaverse objects?
7. How can I change the size of the transaction stack?
8. What causes the error "Member not owned[0]:" when deleting a list member?
9. Is there a limit to the extent of a multi-valued attribute?
10. How do I populate the MMS schema with the Exchange 2000 attributes?
11. What permissions do I need to connect to Exchange using the MAPI MA?
12. How do I resolve error 0xc000011a when updating Exchange using MAPI MA?
13. How can I clear unwanted attributes from the metaverse?
14. How to do a report of all disconnectors for a particular MA?
15. Why did my Active Directory schema import fail?
16. How can I limit a Report MA to process a particular part of the metaverse?
17. Can MMS be clustered?
18. How do you delete connector space objects with TAMA?


1. How long will MMS 2.2 SP1 be supported?
Microsoft ended support for MMS 2.2 SP1 on 30 September 2004. Limited support is available from MMS Partners but customers are advised to upgrade to MIIS as soon as possible.

Back to Top

2. What platforms does MMS run on?
MMS 2.2 will run on either Windows 2000 Advanced Server or Windows 2000 Datacenter Server.

Back to Top

3. What is the recommended hardware specification for MMS?
A 300 MHz or faster CPU with 512 MB of RAM and 2 GB of available disk space. Large or heavily used MMS systems will benefit from more RAM, high-speed disk arrays and by spreading the directory database over multiple spindles.

Back to Top

4. What management agents does MMS include?
In addition to the Generic, Report and TAMA management agents (MAs), the following specialised MAs are included in MMS 2.2:

• Banyan Vines
• Lotus cc:Mail
• Lotus Notes
• Microsoft Active Directory
• Microsoft Exchange (LDAP-based)
• Microsoft Exchange (MAPI-based)
• Microsoft NT
• Netscape LDAP
• Novell Groupwise
• Novell NDS (LDAP-based)
• Novell Netware

The Generic MA can be configured to import or export data to other directory or database systems in either fixed length, delimited or XML formats.

Back to Top

5. What are the string-handling functions in zscript?
The following functions are all useful for string manipulation. Related functions have been grouped together.

$test_char()
Checks for the presence of one or more individual characters anywhere within a variable or attribute value.

$get_char()
Returns the character at a specific position in a variable or attribute value.

$set_char()
Replaces the character at a specified position in a variable with another character.

$embedded()
Determines whether a variable or attribute value contains a particular substring.

$get_substring()

Extracts a substring from a string variable.

$replace()

Replaces one substring with another within a variable.

$trim()
Truncates long strings from the left or the right.

$parser()
Parses a composite variable into smaller parts according to a subsidiary template.

$proper_name()
Formats the contents of a variable as a name.

$map_char()
Replaces characters in a variable or attribute with other substitute characters defined by the s_substitution parameter in the template definition file.

$latin_to_cp()
Converts Latin 1 text encoding to a specific code page or removes accents.

$unquote()
Removes single or double quotation marks (' or ") from a variable or attribute.

$i_personal_name()
Parses a common name into its components according to pre-defined conversion rules for title, given name, surname, and generational qualifier, or according to a name template you supply.

$length()
Returns the length of the parameter.

$dn_component()
Extracts the value of a particular attribute from a distinguished name.

$reverse_dn()
Reverses the order of attributes in a distinguished name.

Back to Top

6. How can a MA access or update other metaverse objects?
The following zscript functions apply to objects other than the object currently being processed.

$instance()
Determines whether a given entry exists in the directory.

$search()
Searches the directory for entries with a specified attribute value.

$get_attr()
Gets the value of an attribute of a particular entry.

$set_attr()
Modifies the value of an attribute in a directory entry.

$MA()
Retrieves the value of a specific attribute of this Management Agent or the management agent's distinguished name.

$parent()
Returns the full distinguished name of the entry's "parent" (the entry immediately above it in the directory tree), or the value of an attribute in the parent's distinguished name.

Back to Top

7. How can I change the size of the transaction stack?
The default maximum size of the transaction stack in MMS 2.2 is 512 MB. This may be increased or decreased as required by editing the value of db5_max_tran_file_size in file \ZOOMSERV\DATA\CONFIG\DB5CFG.

The new maximum size will take affect the next time the server is started and if the transaction stack is now bigger than the new value, MMS will gradually reduce it to the maximum by removing the oldest transactions.

Back to Top

8. What causes the error "Member not owned[0]:" when deleting a list member?
This error can occur when a list that is being updated through a reflector mode MA has also been reflected in AD. To allow the original MA to delete list members, the attribute msMMS-managedByMA on the list object must be set to the DN of that MA (and not the AD MA).

Back to Top

9. Is there a limit to the extent of a multi-valued attribute?
Yes. In MMS v2.2 there is a limit of 512 values. This limit is will be removed in MMS v3.0.

Back to Top

10. How do I populate the MMS schema with the Exchange 2000 attributes?

Exchange 2000 attributes are discovered from an Active Directory that has had its schema extended by either installing Exchange 2000 or by running "ForestPrep" (Run E:\setup\i386\setup /ForestPrep from the Exchange 2000 CD).

Back to Top

11. What permissions do I need to connect to Exchange using the MAPI MA?
MMS needs to log on as an NT account with the correct permissions in Exchange:


• add an account for "MmsServer" (for example)
• change the properties of the MMS service to use the new account
• add "MmsServer" to the permissions for each container (Admin or ViewAdmin as required) and each site (Admin or ViewAdmin as required)
• ensure that there are trust relationships between the Exchange and NT domains to be able to return a valid Assoc-NT-Account

Back to Top

12. How do I resolve error 0xc000011a when updating Exchange using MAPI MA?

There could be several causes of this error. The most common cause is that the manager attribute needs to be converted to be the DN of the manager object in Exchange, by default it is set to the DN in MMS. Either correct the DN or comment out the assignment.

Back to Top

13. How can I clear unwanted attributes from the metaverse?
One of the easiest ways to remove unwanted attributes from existing metaverse objects is as follows:

• First run VIABackup and check that it has worked.
• Create a new Netscape LDAP MA (sic) in Association mode and point it at the LDAP port on the MMS server. (We call this a “loopback” MA and it can be used for all sorts of things but clearing unwanted attributes is the most common)
• Set the context prefix to the part of the metaverse that contains the objects you want to update.
• Set the login (e.g. cn=Administrator,DsaName=meta,ou=Applications, dc=Metaconnections,dc=co,dc=uk) and password.
• In the advanced flow script, nullify every attribute you want to remove (e.g. $cd.mobile = $null).
• Include any inclusion and/or exclusion criteria that you may need to process the correct metaverse objects.
• Run the MA, first with Discover CD, Update MV, Process Tree and Process Users options set and check that the resulting Create file is as expected.
• Set the Update CD option and run the MA again to apply the updates.

Back to Top

14. How to do a report of all disconnectors for a particular MA?

Using the Report MA, include all objects where $mv_object_class("zcExcludedAliasThing") = T and $embedded("MA name",$mv.dn) = T. List all required attributes (e.g. $mv.cn) and edit the report generation script to include the -populatedsa parameter on the run of importt to cause it to process the connector space.

Back to Top

15. Why did my Active Directory schema import fail?

If the AD schema has been extended, this can be caused by a clash with the OID numbers already used within MMS. All OID numbers must be unique and this can only be ensured by registering an OID prefix with the appropriate authority (e.g. BSI in the UK). Within MMS all attributes are identified by their OID number, not their name, so it is good practice to never change or reassign an OID number once it has been used.

Back to Top

16. How can I limit a Report MA to process a particular part of the metaverse?

Use the -targetDN parameter on the run of importt in the Report Generation Script. This technique can also be used to restrict the run of an MA in foreign user mode. e.g. execute importt -targetDN "ou=mycompany,ou=mymetaverse,dc=mydomain,dc=co,dc=uk"

Back to Top

17. Can MMS be clustered?
Several users have tried to devise methods of clustering MMS 2.2 but it is not supported by Microsoft. Therefore it is not recommended!

Back to Top

18. How do you delete connector space objects with TAMA?

TAMA does not delete CS objects. When a MV object is deleted the associated connectors become disconnectors. The disconnector will be deleted after the CD object has been deleted. Even if the object’s profile (zcTaAccountResourceDNs) is updated to remove the TAMA resource and/or the New Accounts exclusion rules would now prevent the connector being created, the connector will remain. The only way to disconnect the connector is to use the $disconnect_specific() function (in the advanced attribute flow of the associated MA). For information on configuring fire
scenarios please see Microsoft’s Knowledge Base article Q317823.

Back to Top


Site Development: In2orbit