Share via


Hosted Exchange::ChangeUserMailboxPlan

Modifies a customer's mailbox plan to a new specified mailbox plan.

Arguments

Input argument Required Description

<path>

Yes

The Lightweight Directory Access Protocol (LDAP) path of user.

<planName>

Yes

Valid Exchange mailbox service plan name.

<preferredDomainController>

Yes

<customerTypeName>

No

Determines the type of resource management to use. BusinessUser and ConsumerUser are the two allowed inputs for this parameter. If not provided the procedure defaults to BusinessUser resource management.

Output Arguments

The <mail> and <properties> nodes are merged with output to show specific settings that occurred as a result of the requested service plan.

Remarks

Provisioning Steps

  1. Select Case for User Type: Business User or Consumer User.

  2. Managed Active Directory::TestPermissions_ - UserCreators.

  3. Hosted Exchange::EnsureServicePlanAvailable_ - If the user is of type BusinessUser, then ensure that the requested service plan is available for the user's organization. (Conditional Step).

  4. Hosted Exchange::GetPlanDetail - Retrieves the details for the specified service plan and generates the <mail> and <properties> nodes to configure the new mailbox.

  5. Hosted Exchange::GetCustomerAssetsRecord_ - Retrieves the primary SMTP Domain for this user's organization. This is used to generate the primary SMTP E-mail address for the user (e.g. user@alpineskihouse.com). If an SMTP Domain is submitted with the request, it will be used instead of the domain stored in the database.

  6. Hosted Exchange::GetOrgExchAddressLists_ - Attempts to retrieve the LDAP path for the GAL, AL, and OAL for this organization. If it fails, Hosted Exchange::CreateOrganizationalAddressLists is called. This step is conditional based on whether the <showInAddressLists> attribute is present in the service plan.

  7. Exchange Resource Manager::QueryMailboxAllocation - retrieves the current mailbox allocation. Conditionally executed if user is of type BusinessUser.

  8. Exchange Resource Manager::AllocateMailbox - Allocates mailbox from ResourceManager. Conditionally executed if user is of type BusinessUser.

  9. Exchange Resource Manager::QueryConsumerMailboxAllocation - retrieves the current mailbox allocation. Conditionally executed if user is of type ConsumerUser.

  10. Exchange Resource Manger Ex::AllocateConsumerMailbox - Allocates mailbox from ResourceManager. Conditionally executed if user is of type ConsumerUser.

  11. Managed Active Directory::ModifyUser.

  12. Managed Active Directory::ModifyMailbox.

  13. Hosted Exchange::ChangeCustomerPlanRecord_ - Records the plan selection in the Customer Plan database and logs a billable event of PlanChange.

Security

  • Impersonate caller.

  • Caller tested for UserCreator role.

Sample Code

Example XML Request

<request>   
        <procedure>     
                <execute namespace="Hosted Exchange" procedure="ChangeUserMailboxPlan"  impersonate="1">       
                        <executeData>         
                                <customerTypeName>BusinessUser</customerTypeName>         
                                <path>LDAP://CN=bob@bobco.com,ou=bobco,OU=Wh,OU=Hosting,DC=fabrikam,DC=Com</path>         
                                <planName>GoldMail</planName>         
                                <preferredDomainController>AD01.fabrikam.com</preferredDomainController>       
                        </executeData>       
                        <after source="executeData" destination="data" mode="merge"/>     
                </execute>   
        </procedure> 
</request>

Example XML Response

<response>   
        <data>     
                <customerTypeName>BusinessUser</customerTypeName>     
                <path>LDAP://CN=user@alpineskihouse.com,ou=alpineskihouse,OU=Wh,OU=Hosting,DC=fabrikam,DC=Com</path>     
                <planName>GoldMail</planName>     
                <preferredDomainController>AD01.fabrikam.com</preferredDomainController>     
                <properties>       
                        <property name="msExchMailboxFolderSet">         
                                <value>108303</value>       
                        </property>     
                </properties>     
                <mail>       
                        <disableIMAP>0</disableIMAP>       
                        <disablePOP>0</disablePOP>       
                        <disableHTTP>0</disableHTTP>       
                        <size>20000</size>     
                </mail>   
        </data> 
</response>

Applies To

Hosted Exchange Namespace API for:

  • Hosted Messaging and Collaboration version 3.5

  • Hosted Messaging and Collaboration version 3.0

See also

Tasks

Hosted Exchange::CreateMailboxPlan