Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows registry
Consider the following scenario. In Microsoft Provisioning System (MPS), you want to create a business or consumer user account that has a mailbox. To do this, you use the CreateMailbox procedure in the Microsoft Exchange Server Exchange provider. However, the CreateMailbox procedure does not succeed, and you receive the following error message:
description="The parameter is incorrect."code="0x80070057"
Additionally, other Exchange provider procedures also may not succeed, and you may receive the same error message or a similar error message.This problem may intermittently occur. Typically, you must restart the Microsoft Provisioning Framework Provisioning Engine before users can again be successfully provisioned.
The Exchange provider uses CDO for Exchange Management (CDOEXM) to create a mailbox for a user object. Under certain conditions, CDOEXM can be incorrectly marked as initialized. However, CDOEXM is not fully initialized. Therefore, later tries to use CDOEXM do not succeed. When this problem occurs, you receive the error message that is mentioned in the "Symptoms" section.
To resolve this problem, install the Microsoft Exchange Server 2003 hotfix that is described in Microsoft Knowledge Base article 895404. For more information about how to obtain this hotfix, click the following article number to view the article in the Microsoft Knowledge Base:
895404 You receive a "The parameter is incorrect (0x80050057)" error message or a "There is no such object on the server (0x80072030)" error message when you use a CDOEXM-based application on a Windows Server 2003-based computer
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
To work around this problem, you must append the string A;;0x2;;;S-1-5-11 to the
registry entry on each server that is running the Provisioning Engine. The
registry entry is located in the following registry subkey:
In the right pane, right-click CustomSD, and then click Modify.
In the Edit String dialog box, append the following string to the value that appears in the Value data box:
On the File menu, click Exit.
After you have changed the registry entry, you must restart the Provisioning Engine on each server that is running the Provisioning Engine. The Provisioning Engine is located in Component Services.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
When the Microsoft Provisioning Framework Active Directory provider creates a user object, the Active Directory provider will bind to a domain controller (DC) by using Active Directory Service Interfaces (ADSI). Exchange System Manager is installed on the server that is running the Provisioning Engine. Exchange System Manager causes the Active Directory provider to try to initialize CDOEXM. Because the request is being issued through a non-administrator user account, the CDOEXM initialization process does not succeed. All later tries to use CDOEXM skip the required step of fully initializing CDOEXM because CDOEXM is already marked as initialized. Therefore, you experience the problem that is described in the "Symptoms" section.
This problem occurs only if the first try to initialize CDOEXM is performed from outside an Exchange provider procedure such as creating a user object. All Exchange provider procedures run under the context of the MPSPriv* account. By default, that account has the rights that are required to fully initialize CDOEXM. However, the Active Directory provider procedures run under the context of the authenticated user account or the impersonated user account.