public void AddActiveDirectoryExternalDomain(
            string domainName,
            string domainAlias,
            string friendlyName,
            string primaryUrl,
            string baseDNUsers,
            string baseDNGroups,
            string authenticationUserName,
            string authenticationPassword,
            string serverType)
        {
            string authenticationType          = "password";
            var    authorizedInvocationContext =
                CreateAuthorizedInvocationContext();

            authorizedInvocationContext.
            InvokeOperation(() =>
                            _ssoAdminBindingClient.AddExternalDomainAsync(
                                new ManagedObjectReference
            {
                type  = "SsoAdminDomainManagementService",
                Value = "domainManagementService"
            },
                                serverType,
                                domainName,
                                domainAlias,
                                new SsoAdminExternalDomainDetails
            {
                friendlyName = friendlyName,
                primaryUrl   = primaryUrl,
                userBaseDn   = baseDNUsers,
                groupBaseDn  = baseDNGroups
            },
                                authenticationType,
                                new SsoAdminDomainManagementServiceAuthenticationCredentails
            {
                username = authenticationUserName,
                password = authenticationPassword
            })).Wait();
        }