Microsoft KB Archive/870933

= You may not be able to use Microsoft Provisioning System to programmatically create a mailbox =

Article ID: 870933

Article Last Modified on 10/25/2007

-

APPLIES TO


 * Microsoft Exchange Server 2003 Enterprise Edition
 * Microsoft Exchange Server 2003 Standard Edition
 * Microsoft Provisioning System

-



SYMPTOMS
If you are using Microsoft Exchange Server 2003 and Microsoft Provisioning System to programmatically create a new mailbox, you may not be able to create the new mailbox. You receive the following error message:

&quot;Error Type: Provisioning.MPFProcessController.1 (0x80070057)  /tstMPS/create.asp, line 25&quot;



CAUSE
This behavior occurs because the Exchange provider for Microsoft Provisioning System includes a mailbox size limit. You cannot create new mailboxes that are larger than 400 megabytes (MB). The Exchange provider for Microsoft Provisioning System uses Collaboration Data Objects (CDO) to create mailboxes.



WORKAROUND
To work around this issue, use one of the following methods:
 * Create the mailbox with a smaller size.
 * Use the sample code that will reset the mailbox size.

Note The sample code combines three procedure calls to reset a user’s mailbox size and quotas.

The procedure calls are:
 * 1) The code obtains the current allocation of the user’s mailbox from Resource Manager (RM). RM is a feature of Microsoft Provisioning System.
 * 2) The code reallocates the mailbox to the new size in RM.
 * 3) The code sets the user's quota attributes by using the ModifyUser procedure from the Managed Active Directory namespace.

This sample code does not log anything to the event table. This sample code currently works for Microsoft Exchange Server 2003 users only.

Sample code
The following is the sample XML code. Variables such as user path, size, warningQuota, and prohibitSendAndRecieveQuota are set in the procedure data block of the request.

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

   LDAP://CN=user@AlpineSkiHouse.com,OU=AlpineSkiHouse,OU=ConsolidatedMessenger,OU=Hosting,DC=Fabrikam,DC=Com AD01.Fabrikam.Com 600000      540000 700000 <previousAllocation/> </procedureData> <execute namespace=&quot;Exchange Resource Manager Ex&quot; procedure=&quot;QueryMailboxAllocation&quot; impersonate=&quot;1&quot;> <executeData> </executeData> <before source=&quot;procedureData&quot; sourcePath=&quot;preferredDomainController&quot; destination=&quot;executeData&quot;/> <before source=&quot;procedureData&quot; sourcePath=&quot;path&quot; destination=&quot;executeData&quot; destinationPath=&quot;mailbox&quot; mode=&quot;merge&quot;/> <after source=&quot;executeData&quot; sourcePath=&quot;mailbox/kilobytes&quot; destination=&quot;procedureData&quot; destinationPath=&quot;previousAllocation&quot; mode=&quot;merge&quot;/> <execute namespace=&quot;Exchange Resource Manager Ex&quot; procedure=&quot;ReallocateMailbox&quot; impersonate=&quot;1&quot;> <executeData> </executeData> <before source=&quot;procedureData&quot; sourcePath=&quot;preferredDomainController&quot; destination=&quot;executeData&quot; /> <before source=&quot;procedureData&quot; sourcePath=&quot;path&quot; destination=&quot;executeData&quot; destinationPath=&quot;mailbox&quot; mode=&quot;merge&quot; /> <before source=&quot;procedureData&quot; destination=&quot;executeData&quot; destinationPath=&quot;kilobytes&quot; mode=&quot;merge&quot;> <xsl:template match=&quot;*&quot;> <xsl:value-of select=&quot;number(mail/size) - number(previousAllocation)&quot;/> </xsl:template> <execute namespace=&quot;Hosted Exchange&quot; procedure=&quot;ModifyUser&quot; impersonate=&quot;1&quot;> <executeData/> <before source=&quot;procedureData&quot; sourcePath=&quot;preferredDomainController&quot; destination=&quot;executeData&quot; /> <before source=&quot;procedureData&quot; sourcePath=&quot;path&quot; destination=&quot;executeData&quot; /> <before source=&quot;procedureData&quot; destination=&quot;executeData&quot;> <xsl:template match=&quot;*&quot;> <property name=&quot;mDBStorageQuota&quot;> <xsl:value-of select=&quot;mail/warningQuota&quot;/> <property name=&quot;mDBOverQuotaLimit&quot;> <xsl:value-of select=&quot;mail/size&quot;/> <property name=&quot;mDBOverHardQuotaLimit&quot;> <xsl:value-of select=&quot;mail/prohibitSendAndRecieveQuota&quot;/> </xsl:template> <after source=&quot;procedureData&quot; destination=&quot;data&quot; mode=&quot;merge&quot;/>

<div class="status_section">

STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.

Keywords: kbbug kbtshoot KB870933

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.