MPS Import Namespace API

This document provides the details of the application programming interface (API) for the MPS Import namespace included with the Microsoft® Provisioning System (MPS) in . Contained herein are descriptions of the procedures of this namespace along with method input parameters and return values. In addition, example Extensible Markup Language (XML) requests are provided along with typical XML responses that the provisioning system returns after a request is submitted to MPS and tasks are completed.

Developers should use this API document as a reference when creating XML requests that migrate users and organizations into the MPS system, providing that they have already been physically migrated into an MPS hosting Active Directory® directory service structure.


The MPS Import namespace exposes a set of Microsoft Provisioning Framework (MPF) public named procedures for importing users and organizations into an existing MPS hosting Active Directory structure.

The current state of provisioning Hosted Exchange users relies on the Hosted Exchange Namespaceand several underlying namespaces and providers. It is assumed that users are created through this namespace to ensure synchronization with the various system entities that track users and organizations. These entities are:

However, there are certain scenarios where the dependency on these systems causes problems in real-world deployments, as follows:

There are currently no migration tool sets provided to customers for migrating users in a prescribed fashion, since the requirements for migration vary considerably from service provider to service provider.

The purpose of the MPS Import namespace is to provide a set of APIs that will enable "last-mile" migration of users and organizations into the MPS system. Moreover, the MPS Import namespace solves a small, well-defined chunk of the migration problem by requiring that organizations and users (and their mailboxes) already be physically migrated into an MPS hosting Active Directory structure using tools such as ADMT and the Exchange Mailbox Migration Wizard. Then, the procedures of the MPS Import namespace can solve the problem of configuring these objects for hosting, importing these objects into the Resource Manager, and importing these objects into the Plans Database.

Background Concepts

This section provides conceptual material for using the MPS Import namespace.

Import Prerequisites

The MPS Import namespace only attempts to provide the final configuration and import of organizations and users into the MPS Hosted Exchange provisioning system. As such, there are a number of prerequisites that must be satisfied before the procedures can be used to import a user or organization.

General Prerequisites
Organization Prerequisites

The organization must exist in the hosting container at the proper level in the hierarchy dependent upon its role - reseller or customer. For example:

OU=alpineskihouse <- organization to import
User Prerequisites

The user must exist in the organization container that was created by the Hosted Exchange::CreateBusinessOrganization procedure or previously prepared with one of the following:

For example, the user must exist in the following structure:

CN=user <- user to import

The MPS Import namespace is implemented as MPF namespaces and therefore depends on MPF, standard providers, and non-provider namespaces. The following is a list of critical namespaces upon which the MPS Import namespacee depends, and which are installed with MPS core components:

The functionality of the MPS Import namespace also depends on interaction with other namespaces as well. Also, you install the MPS Import namespace with the MPS Deployment Tool. Therefore, when you design your MPS deployment configuration with the MPS Deployment Tool, you should queue the following namespaces for installation to support the functionality of the MPS Import namespace:

Public Methods

The MPS Import namespace implements several public named procedures to facilitate the importing of existing organizations and users into a Hosted Exchange shared environment. Primarily this functionality is provided by two procedures, as follows:

The end result of both of these procedures is that the user or organization is configured exactly the same as it would be if it had been created through the Hosted Exchange namespace.

To facilitate more complex migration scenarios where all of these steps are unnecessary in a single transaction, the underlying functionality of these import procedures are exposed as discreet public procedures that can be called separately, as follows:

This also facilitates "repair" type scenarios such as repairing an organization that has had the _Private container removed by accident.

In addition some procedures from existing namespaces are used in the import user or import organization process, as follows:

 Applies To