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
Select Case for User Type: Business User or Consumer User.
Managed Active Directory::TestPermissions_ - UserCreators.
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).
Hosted Exchange::GetPlanDetail - Retrieves the details for the specified service plan and generates the <mail> and <properties> nodes to configure the new mailbox.
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.
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.
Exchange Resource Manager::QueryMailboxAllocation - retrieves the current mailbox allocation. Conditionally executed if user is of type BusinessUser.
Exchange Resource Manager::AllocateMailbox - Allocates mailbox from ResourceManager. Conditionally executed if user is of type BusinessUser.
Exchange Resource Manager::QueryConsumerMailboxAllocation - retrieves the current mailbox allocation. Conditionally executed if user is of type ConsumerUser.
Exchange Resource Manger Ex::AllocateConsumerMailbox - Allocates mailbox from ResourceManager. Conditionally executed if user is of type ConsumerUser.
Managed Active Directory::ModifyUser.
Managed Active Directory::ModifyMailbox.
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