Windows-based Hosting::CreateResellerOrganization
The CreateResellerOrganization procedure creates a reseller organization.
Note
This procedure calls the Managed Active Directory Provider::CreateOrganization function, which creates an organization name based on the <name> parameter. The CreateOrganization function requires that the first 9 characters of the name be unique; if they are not, then it will generate errors in the MPS server's event log, and attempt to create a unique name based on the first 9 characters of the <name> parameter. You can avoid this by specifying a unique, 9 character name for the new organization.
Arguments
The CreateResellerOrganization procedure has the following input parameters.
Input Argument | Description |
---|---|
<name> |
The organization name. |
<container> |
A valid Lightweight Directory Access Protocol (LDAP) path of the organizational unit (OU) where the new user will be created. For example LDAP://OU=Reseller1,OU=Hosting,DC=fabrikam,DC=Com. |
<preferredDomainController> |
The name of the preferred domain controller. |
<description> |
A description of the OU. |
<properties> |
Any valid Active Directory properties for the object class. |
Output Arguments
The CreateResellerOrganization procedure returns the <org> tag containing the objects created and the membership and security policies supplied. Each object created has its LDAP path in a "path" attribute.
Remarks
Security
The CreateResellerOrganization procedure has the following security requirements
The caller is impersonated.
The caller is tested for OrgCreator permissions.
Policy Information
The CreateResellerOrganization procedure retrieves policy information using the GetPolicy procedure of the Managed Active Directory Namespace.
Process Steps
The following steps occur when creating a reseller organization with the CreateResellerOrganization procedure of the Managed Windows-based Hosting Namespace:
Create a reseller organization.
Create the organization in Active Directory by calling Managed Active Directory Provider::CreateOrganization.
Apply the creation, membership, and security policies defined in the GetPolicy procedure of the Managed Active Directory Namespace.
Add the organization to the Customer Service Plans database.
Sample Code
Example XML Request
The following is an example of an XML request for the CreateResellerOrganization procedure of the Managed Windows-based Hosting Namespace:
<request>
<procedure>
<execute namespace="Managed Active Directory
procedure="CreateResellerOrganization" impersonate="1">
<executeData>
<name>Reseller1</name>
<description>The reseller of much stuff
@raven.com</description>
<properties></properties>
<preferredDomainController>myPrimaryDC.raven.com
</preferredDomainController>
</executeData>
<after source="executeData" destination="data" sourcePath="org" />
</execute>
</procedure>
</request>
Example XML Response
The following is an example of an XML response from the CreateResellerOrganization procedure of the Managed Windows-based Hosting Namespace:
<response>
<data>
<org path="LDAP://ou=Reseller1,ou=Hosting,dc=raven,dc=com"
name="Reseller1">
<orgs>
<org path="LDAP://ou=Services,ou=Reseller1,ou=Hosting,
dc=raven,dc=com" name="Services">
<groups>
<group path="LDAP://cn=Admins@Reseller1,ou=Services,
ou=Reseller1,ou=Hosting,dc=raven,dc=com"
name="Admins@Reseller1" samName="A@Reseller1"></group>
<group path="LDAP://cn=CSRAdmins@Reseller1,ou=Services,
ou=Reseller1,ou=Hosting,dc=raven,dc=com"
name="CSRAdmins@Reseller1" samName="CA@Reseller1"></group>
<group path="LDAP://cn=AllCustomers@Reseller1,ou=Services,
ou=Reseller1,ou=Hosting,dc=raven,dc=com"
name="AllCustomers@Reseller1"
samName="AC@Reseller1"></group>
<group path="LDAP://cn=AllUsers@Reseller1,ou=Services,
ou=Reseller1,ou=Hosting,dc=raven,dc=com"
name="AllUsers@Reseller1" samName="AU@Reseller1">
<memberOfGroup name="LDAP://cn=AllUsersGroups,ou=Services,
ou=Hosting,dc=raven,dc=com"></memberOfGroup>
</group>
</groups>
</org>
</orgs>
<dacl>
<ace>
<permission>ADS_RIGHT_DS_LIST_OBJECT</permission>
<trustee>LDAP://cn=AllUsers@Reseller1,ou=Services,
ou=Reseller1,ou=Hosting,dc=raven,dc=com</trustee>
<trusteeType>TRUSTEE_IS_GROUP</trusteeType>
<trusteeForm>TRUSTEE_IS_SID</trusteeForm>
<mode>GRANT_ACCESS</mode>
</ace>
<ace>
<permission>ADS_RIGHT_ACTRL_DS_LIST</permission>
<permission>ADS_RIGHT_DS_READ_PROP</permission>
<permission>ADS_RIGHT_READ_CONTROL</permission>
<inheritance>SUB_CONTAINERS_AND_OBJECTS_INHERIT
</inheritance>
<trustee>LDAP://cn=AllUsers@Reseller1,ou=Services,
ou=Reseller1,ou=Hosting,dc=raven,dc=com</trustee>
<trusteeType>TRUSTEE_IS_GROUP</trusteeType>
<trusteeForm>TRUSTEE_IS_SID</trusteeForm>
<mode>GRANT_ACCESS</mode>
</ace>
<ace>
<permission>ADS_RIGHT_DS_LIST_OBJECT</permission>
<trustee>LDAP://cn=AllCustomers@Reseller1,
ou=Services,ou=Reseller1,ou=Hosting,
dc=raven,dc=com</trustee>
<trusteeType>TRUSTEE_IS_GROUP</trusteeType>
<trusteeForm>TRUSTEE_IS_SID</trusteeForm>
<mode>GRANT_ACCESS</mode>
</ace>
<ace>
<permission>ADS_RIGHT_DS_WRITE_PROP</permission>
<permission>ADS_RIGHT_WRITE_DAC</permission>
<permission>ADS_RIGHT_DS_CONTROL_ACCESS</permission>
<permission>ADS_RIGHT_DS_CREATE_CHILD</permission>
<inheritance>SUB_CONTAINERS_AND_OBJECTS_INHERIT
</inheritance>
<trustee>LDAP://cn=Admins@Reseller1,ou=Services,
ou=Reseller1,ou=Hosting,dc=raven,dc=com</trustee>
<trusteeType>TRUSTEE_IS_GROUP</trusteeType>
<trusteeForm>TRUSTEE_IS_SID</trusteeForm>
<mode>GRANT_ACCESS</mode>
</ace>
</dacl>
</org>
</data>
</response>
Applies To
Managed Windows-based Hosting Namespace API for:
Hosted Messaging and Collaboration version 3.5
Hosted Messaging and Collaboration version 3.0
Windows-based Hosting version 4.5
Windows-based Hosting version 4.0
Windows-based Hosting version 3.5
Windows-based Hosting for Applications version 1.0
See also
Tasks
Windows-based Hosting::CreateCustomerOrganization
Windows-based Hosting::DeleteOrganization