Added change user principalName
Added button to change user password Changes EmailAddresses, user principal name disabled
This commit is contained in:
parent
8a4159a0ff
commit
4c75df5a73
21 changed files with 850 additions and 153 deletions
|
@ -6964,3 +6964,24 @@ BEGIN
|
|||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (230, 13, 4, N'HostedSolution.AllowChangeUPN', N'Allow to Change UserPrincipalName', 1, 0, NULL)
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'UpdateExchangeAccountUserPrincipalName')
|
||||
BEGIN
|
||||
EXEC sp_executesql N' CREATE PROCEDURE [dbo].[UpdateExchangeAccountUserPrincipalName]
|
||||
(
|
||||
@AccountID int,
|
||||
@UserPrincipalName nvarchar(300)
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE ExchangeAccounts SET
|
||||
UserPrincipalName = @UserPrincipalName
|
||||
WHERE
|
||||
AccountID = @AccountID
|
||||
|
||||
RETURN'
|
||||
END
|
||||
GO
|
||||
|
|
|
@ -36,6 +36,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
string emailAddress;
|
||||
bool isPrimary;
|
||||
bool iSuserPrincipalName;
|
||||
|
||||
public string EmailAddress
|
||||
{
|
||||
|
@ -48,5 +49,12 @@ namespace WebsitePanel.EnterpriseServer
|
|||
get { return this.isPrimary; }
|
||||
set { this.isPrimary = value; }
|
||||
}
|
||||
|
||||
public bool IsUserPrincipalName
|
||||
{
|
||||
get { return iSuserPrincipalName; }
|
||||
set { iSuserPrincipalName = value; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.6387
|
||||
// Runtime Version:2.0.50727.6400
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -54,7 +54,6 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
|
|||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
|
@ -104,6 +103,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
|
|||
|
||||
private System.Threading.SendOrPostCallback SetUserGeneralSettingsOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SetUserPrincipalNameOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SetUserPasswordOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SearchAccountsOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;
|
||||
|
@ -175,6 +178,12 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
|
|||
/// <remarks/>
|
||||
public event SetUserGeneralSettingsCompletedEventHandler SetUserGeneralSettingsCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SetUserPrincipalNameCompletedEventHandler SetUserPrincipalNameCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SetUserPasswordCompletedEventHandler SetUserPasswordCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SearchAccountsCompletedEventHandler SearchAccountsCompleted;
|
||||
|
||||
|
@ -1336,6 +1345,103 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserPrincipalName", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int SetUserPrincipalName(int itemId, int accountId, string userPrincipalName, bool inherit) {
|
||||
object[] results = this.Invoke("SetUserPrincipalName", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
userPrincipalName,
|
||||
inherit});
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginSetUserPrincipalName(int itemId, int accountId, string userPrincipalName, bool inherit, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("SetUserPrincipalName", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
userPrincipalName,
|
||||
inherit}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int EndSetUserPrincipalName(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPrincipalNameAsync(int itemId, int accountId, string userPrincipalName, bool inherit) {
|
||||
this.SetUserPrincipalNameAsync(itemId, accountId, userPrincipalName, inherit, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPrincipalNameAsync(int itemId, int accountId, string userPrincipalName, bool inherit, object userState) {
|
||||
if ((this.SetUserPrincipalNameOperationCompleted == null)) {
|
||||
this.SetUserPrincipalNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserPrincipalNameOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("SetUserPrincipalName", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
userPrincipalName,
|
||||
inherit}, this.SetUserPrincipalNameOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnSetUserPrincipalNameOperationCompleted(object arg) {
|
||||
if ((this.SetUserPrincipalNameCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.SetUserPrincipalNameCompleted(this, new SetUserPrincipalNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserPassword", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int SetUserPassword(int itemId, int accountId, string password) {
|
||||
object[] results = this.Invoke("SetUserPassword", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
password});
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginSetUserPassword(int itemId, int accountId, string password, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("SetUserPassword", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int EndSetUserPassword(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPasswordAsync(int itemId, int accountId, string password) {
|
||||
this.SetUserPasswordAsync(itemId, accountId, password, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPasswordAsync(int itemId, int accountId, string password, object userState) {
|
||||
if ((this.SetUserPasswordOperationCompleted == null)) {
|
||||
this.SetUserPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserPasswordOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("SetUserPassword", new object[] {
|
||||
itemId,
|
||||
accountId,
|
||||
password}, this.SetUserPasswordOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnSetUserPasswordOperationCompleted(object arg) {
|
||||
if ((this.SetUserPasswordCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.SetUserPasswordCompleted(this, new SetUserPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SearchAccounts", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public OrganizationUser[] SearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) {
|
||||
|
@ -2000,6 +2106,58 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SetUserPrincipalNameCompletedEventHandler(object sender, SetUserPrincipalNameCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class SetUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal SetUserPrincipalNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SetUserPasswordCompletedEventHandler(object sender, SetUserPasswordCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class SetUserPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal SetUserPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e);
|
||||
|
|
|
@ -2354,6 +2354,16 @@ namespace WebsitePanel.EnterpriseServer
|
|||
);
|
||||
}
|
||||
|
||||
public static void UpdateExchangeAccountUserPrincipalName(int accountId, string userPrincipalName)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"UpdateExchangeAccountUserPrincipalName",
|
||||
new SqlParameter("@AccountID", accountId),
|
||||
new SqlParameter("@UserPrincipalName", userPrincipalName));
|
||||
}
|
||||
|
||||
public static IDataReader GetExchangeAccount(int itemId, int accountId)
|
||||
{
|
||||
return SqlHelper.ExecuteReader(
|
||||
|
|
|
@ -1313,8 +1313,13 @@ namespace WebsitePanel.EnterpriseServer
|
|||
if (String.Compare(account.PrimaryEmailAddress, email.EmailAddress, true) == 0)
|
||||
{
|
||||
email.IsPrimary = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (String.Compare(account.UserPrincipalName, email.EmailAddress, true) == 0)
|
||||
{
|
||||
email.IsUserPrincipalName = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return emails.ToArray();
|
||||
|
|
|
@ -41,6 +41,7 @@ using WebsitePanel.Providers.ResultObjects;
|
|||
using WebsitePanel.Providers.SharePoint;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.DNS;
|
||||
using WebsitePanel.Providers.OCS;
|
||||
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
|
@ -1670,7 +1671,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
if (accountCheck < 0) return accountCheck;
|
||||
|
||||
// place log record
|
||||
TaskManager.StartTask("EXCHANGE", "UPDATE_MAILBOX_GENERAL");
|
||||
TaskManager.StartTask("ORGANIZATION", "UPDATE_USER_GENERAL");
|
||||
TaskManager.ItemId = itemId;
|
||||
|
||||
try
|
||||
|
@ -1752,6 +1753,162 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public static int SetUserPrincipalName(int itemId, int accountId, string userPrincipalName, bool inherit)
|
||||
{
|
||||
|
||||
// check account
|
||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||
if (accountCheck < 0) return accountCheck;
|
||||
|
||||
|
||||
// place log record
|
||||
TaskManager.StartTask("ORGANIZATION", "SET_USER_USERPRINCIPALNAME");
|
||||
TaskManager.ItemId = itemId;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
// load organization
|
||||
Organization org = GetOrganization(itemId);
|
||||
if (org == null)
|
||||
return -1;
|
||||
|
||||
// check package
|
||||
int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive);
|
||||
if (packageCheck < 0) return packageCheck;
|
||||
|
||||
// load account
|
||||
OrganizationUser user = GetUserGeneralSettings(itemId, accountId);
|
||||
|
||||
if (user.UserPrincipalName != userPrincipalName)
|
||||
{
|
||||
bool userPrincipalNameOwned = false;
|
||||
ExchangeEmailAddress[] emails = ExchangeServerController.GetMailboxEmailAddresses(itemId, accountId);
|
||||
|
||||
foreach (ExchangeEmailAddress mail in emails)
|
||||
{
|
||||
if (mail.EmailAddress == userPrincipalName)
|
||||
{
|
||||
userPrincipalNameOwned = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!userPrincipalNameOwned)
|
||||
{
|
||||
if (EmailAddressExists(userPrincipalName))
|
||||
return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS;
|
||||
}
|
||||
}
|
||||
|
||||
Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
||||
|
||||
orgProxy.SetUserPrincipalName(org.OrganizationId,
|
||||
user.AccountName,
|
||||
userPrincipalName.ToLower());
|
||||
|
||||
DataProvider.UpdateExchangeAccountUserPrincipalName(accountId, userPrincipalName.ToLower());
|
||||
|
||||
if (inherit)
|
||||
{
|
||||
if (user.AccountType == ExchangeAccountType.Mailbox)
|
||||
{
|
||||
ExchangeServerController.AddMailboxEmailAddress(itemId, accountId, userPrincipalName.ToLower());
|
||||
ExchangeServerController.SetMailboxPrimaryEmailAddress(itemId, accountId, userPrincipalName.ToLower());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (user.IsLyncUser)
|
||||
{
|
||||
if (!DataProvider.LyncUserExists(accountId, userPrincipalName.ToLower()))
|
||||
{
|
||||
LyncController.SetLyncUserGeneralSettings(itemId, accountId, userPrincipalName.ToLower(), null);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (user.IsOCSUser)
|
||||
{
|
||||
OCSServer ocs = GetOCSProxy(itemId);
|
||||
string instanceId = DataProvider.GetOCSUserInstanceID(user.AccountId);
|
||||
ocs.SetUserPrimaryUri(instanceId, userPrincipalName.ToLower());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw TaskManager.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TaskManager.CompleteTask();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static int SetUserPassword(int itemId, int accountId, string password)
|
||||
{
|
||||
|
||||
// check account
|
||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||
if (accountCheck < 0) return accountCheck;
|
||||
|
||||
// place log record
|
||||
TaskManager.StartTask("ORGANIZATION", "SET_USER_PASSWORD");
|
||||
TaskManager.ItemId = itemId;
|
||||
|
||||
try
|
||||
{
|
||||
// load organization
|
||||
Organization org = GetOrganization(itemId);
|
||||
if (org == null)
|
||||
return -1;
|
||||
|
||||
// check package
|
||||
int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive);
|
||||
if (packageCheck < 0) return packageCheck;
|
||||
|
||||
// load account
|
||||
ExchangeAccount account = ExchangeServerController.GetAccount(itemId, accountId);
|
||||
|
||||
string accountName = GetAccountName(account.AccountName);
|
||||
|
||||
Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
||||
|
||||
orgProxy.SetUserPassword( org.OrganizationId,
|
||||
accountName,
|
||||
password);
|
||||
|
||||
//account.
|
||||
if (!String.IsNullOrEmpty(password))
|
||||
account.AccountPassword = CryptoUtils.Encrypt(password);
|
||||
else
|
||||
account.AccountPassword = null;
|
||||
|
||||
UpdateAccount(account);
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw TaskManager.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TaskManager.CompleteTask();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void UpdateAccount(ExchangeAccount account)
|
||||
{
|
||||
DataProvider.UpdateExchangeAccount(account.AccountId, account.AccountName, account.AccountType, account.DisplayName,
|
||||
|
@ -1969,6 +2126,19 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
private static OCSServer GetOCSProxy(int itemId)
|
||||
{
|
||||
Organization org = OrganizationController.GetOrganization(itemId);
|
||||
int serviceId = PackageController.GetPackageServiceId(org.PackageId, ResourceGroups.OCS);
|
||||
|
||||
OCSServer ocs = new OCSServer();
|
||||
ServiceProviderProxy.Init(ocs, serviceId);
|
||||
|
||||
|
||||
return ocs;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -195,6 +195,22 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int SetUserPrincipalName(int itemId, int accountId, string userPrincipalName, bool inherit)
|
||||
{
|
||||
return OrganizationController.SetUserPrincipalName(itemId, accountId, userPrincipalName,
|
||||
inherit);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int SetUserPassword(int itemId, int accountId, string password)
|
||||
{
|
||||
return OrganizationController.SetUserPassword(itemId, accountId, password);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public List<OrganizationUser> SearchAccounts(int itemId,
|
||||
string filterColumn, string filterValue, string sortColumn, bool includeMailboxes)
|
||||
|
|
|
@ -58,5 +58,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
get { return primary; }
|
||||
set { primary = value; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,6 +51,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
string webPage, string notes, string externalEmail);
|
||||
|
||||
void SetUserPassword(string organizationId, string accountName, string password);
|
||||
|
||||
void SetUserPrincipalName(string organizationId, string accountName, string userPrincipalName);
|
||||
|
||||
bool OrganizationExists(string organizationId);
|
||||
|
||||
void DeleteOrganizationDomain(string organizationDistinguishedName, string domain);
|
||||
|
|
|
@ -180,7 +180,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
public Organization CreateOrganization(string organizationId)
|
||||
{
|
||||
return CreateOrganizationInternal(organizationId);
|
||||
return CreateOrganizationInternal(organizationId);
|
||||
}
|
||||
|
||||
internal Organization CreateOrganizationInternal(string organizationId)
|
||||
|
@ -214,7 +214,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
org.DistinguishedName = ActiveDirectoryUtils.RemoveADPrefix(orgPath);
|
||||
org.SecurityGroup = ActiveDirectoryUtils.RemoveADPrefix(GetGroupPath(organizationId));
|
||||
}
|
||||
catch(Exception ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
HostedSolutionLog.LogError(ex);
|
||||
try
|
||||
|
@ -225,7 +225,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
ActiveDirectoryUtils.DeleteADObject(groupPath);
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
catch (Exception e)
|
||||
{
|
||||
HostedSolutionLog.LogError(e);
|
||||
}
|
||||
|
@ -238,7 +238,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
ActiveDirectoryUtils.DeleteADObject(orgPath);
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
catch (Exception e)
|
||||
{
|
||||
HostedSolutionLog.LogError(e);
|
||||
}
|
||||
|
@ -421,7 +421,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
{
|
||||
HostedSolutionLog.LogStart("GetPasswordPolicyInternal");
|
||||
|
||||
PasswordPolicyResult res = new PasswordPolicyResult {IsSuccess = true};
|
||||
PasswordPolicyResult res = new PasswordPolicyResult { IsSuccess = true };
|
||||
|
||||
string[] policyAttributes = new[] {"minPwdLength",
|
||||
"pwdProperties",
|
||||
|
@ -441,13 +441,13 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
SearchResult result = ds.FindOne();
|
||||
|
||||
PasswordPolicy ret = new PasswordPolicy
|
||||
{
|
||||
MinLength = ((int) result.Properties["minPwdLength"][0]),
|
||||
IsComplexityEnable = ((int) result.Properties["pwdProperties"][0] == 1)
|
||||
};
|
||||
{
|
||||
MinLength = ((int)result.Properties["minPwdLength"][0]),
|
||||
IsComplexityEnable = ((int)result.Properties["pwdProperties"][0] == 1)
|
||||
};
|
||||
res.Value = ret;
|
||||
}
|
||||
catch(Exception ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
HostedSolutionLog.LogError(ex);
|
||||
res.IsSuccess = false;
|
||||
|
@ -478,7 +478,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
string path = GetUserPath(organizationId, loginName);
|
||||
if (ActiveDirectoryUtils.AdObjectExists(path))
|
||||
ActiveDirectoryUtils.DeleteADObject(path,true);
|
||||
ActiveDirectoryUtils.DeleteADObject(path, true);
|
||||
|
||||
HostedSolutionLog.LogEnd("DeleteUserInternal");
|
||||
}
|
||||
|
@ -529,18 +529,18 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
retUser.DomainUserName = GetDomainName(ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.SAMAccountName));
|
||||
retUser.DistinguishedName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DistinguishedName);
|
||||
retUser.Locked = (bool)entry.InvokeGet(ADAttributes.AccountLocked);
|
||||
retUser.UserPrincipalName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.UserPrincipalName);
|
||||
retUser.UserPrincipalName= (string)entry.InvokeGet(ADAttributes.UserPrincipalName);
|
||||
|
||||
HostedSolutionLog.LogEnd("GetUserGeneralSettingsInternal");
|
||||
return retUser;
|
||||
}
|
||||
|
||||
private string GetDomainName(string username)
|
||||
{
|
||||
string domain = ActiveDirectoryUtils.GetNETBIOSDomainName(RootDomain);
|
||||
string ret = string.Format(@"{0}\{1}", domain, username);
|
||||
return ret;
|
||||
}
|
||||
private string GetDomainName(string username)
|
||||
{
|
||||
string domain = ActiveDirectoryUtils.GetNETBIOSDomainName(RootDomain);
|
||||
string ret = string.Format(@"{0}\{1}", domain, username);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private OrganizationUser GetManager(DirectoryEntry entry)
|
||||
{
|
||||
|
@ -556,18 +556,18 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
retUser.DisplayName = ActiveDirectoryUtils.GetADObjectStringProperty(user, ADAttributes.DisplayName);
|
||||
|
||||
retUser.AccountName = ActiveDirectoryUtils.GetADObjectStringProperty(user, ADAttributes.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return retUser;
|
||||
}
|
||||
|
||||
public void SetUserGeneralSettings(string organizationId, string accountName, string displayName, string password,
|
||||
public void SetUserGeneralSettings(string organizationId, string accountName, string displayName, string password,
|
||||
bool hideFromAddressBook, bool disabled, bool locked, string firstName, string initials, string lastName,
|
||||
string address, string city, string state, string zip, string country, string jobTitle,
|
||||
string company, string department, string office, string managerAccountName,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
string webPage, string notes, string externalEmail)
|
||||
string webPage, string notes, string externalEmail)
|
||||
{
|
||||
SetUserGeneralSettingsInternal(organizationId, accountName, displayName, password, hideFromAddressBook,
|
||||
disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle,
|
||||
|
@ -583,7 +583,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
string webPage, string notes, string externalEmail)
|
||||
{
|
||||
string path = GetUserPath(organizationId, accountName);
|
||||
DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path);
|
||||
DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path);
|
||||
|
||||
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.FirstName, firstName);
|
||||
|
@ -636,6 +636,37 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
entry.CommitChanges();
|
||||
}
|
||||
|
||||
public void SetUserPassword(string organizationId, string accountName, string password)
|
||||
{
|
||||
SetUserPasswordInternal(organizationId, accountName, password);
|
||||
}
|
||||
|
||||
internal void SetUserPasswordInternal(string organizationId, string accountName, string password)
|
||||
{
|
||||
string path = GetUserPath(organizationId, accountName);
|
||||
DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path);
|
||||
|
||||
if (!string.IsNullOrEmpty(password))
|
||||
entry.Invoke(ADAttributes.SetPassword, password);
|
||||
|
||||
entry.CommitChanges();
|
||||
}
|
||||
|
||||
|
||||
public void SetUserPrincipalName(string organizationId, string accountName, string userPrincipalName)
|
||||
{
|
||||
SetUserPrincipalNameInternal(organizationId, accountName, userPrincipalName);
|
||||
}
|
||||
|
||||
internal void SetUserPrincipalNameInternal(string organizationId, string accountName, string userPrincipalName)
|
||||
{
|
||||
string path = GetUserPath(organizationId, accountName);
|
||||
DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path);
|
||||
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.UserPrincipalName, userPrincipalName);
|
||||
|
||||
entry.CommitChanges();
|
||||
}
|
||||
|
||||
public string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName)
|
||||
{
|
||||
|
|
|
@ -26,10 +26,11 @@
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.5456
|
||||
// Runtime Version:2.0.50727.6400
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -37,7 +38,7 @@
|
|||
//------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
|
||||
//
|
||||
namespace WebsitePanel.Providers.HostedSolution {
|
||||
using System.Xml.Serialization;
|
||||
|
@ -47,12 +48,13 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
|
||||
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Web.Services.WebServiceBindingAttribute(Name="OrganizationsSoap", Namespace="http://tempuri.org/")]
|
||||
|
@ -76,6 +78,10 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
|
||||
private System.Threading.SendOrPostCallback SetUserGeneralSettingsOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SetUserPasswordOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SetUserPrincipalNameOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback DeleteOrganizationDomainOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback CreateOrganizationDomainOperationCompleted;
|
||||
|
@ -86,7 +92,7 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
|
||||
/// <remarks/>
|
||||
public Organizations() {
|
||||
this.Url = "http://localhost:9006/Organizations.asmx";
|
||||
this.Url = "http://localhost:9003/Organizations.asmx";
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -110,6 +116,12 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
/// <remarks/>
|
||||
public event SetUserGeneralSettingsCompletedEventHandler SetUserGeneralSettingsCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SetUserPasswordCompletedEventHandler SetUserPasswordCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SetUserPrincipalNameCompletedEventHandler SetUserPrincipalNameCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event DeleteOrganizationDomainCompletedEventHandler DeleteOrganizationDomainCompleted;
|
||||
|
||||
|
@ -627,6 +639,98 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserPassword", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void SetUserPassword(string organizationId, string accountName, string password) {
|
||||
this.Invoke("SetUserPassword", new object[] {
|
||||
organizationId,
|
||||
accountName,
|
||||
password});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginSetUserPassword(string organizationId, string accountName, string password, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("SetUserPassword", new object[] {
|
||||
organizationId,
|
||||
accountName,
|
||||
password}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndSetUserPassword(System.IAsyncResult asyncResult) {
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPasswordAsync(string organizationId, string accountName, string password) {
|
||||
this.SetUserPasswordAsync(organizationId, accountName, password, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPasswordAsync(string organizationId, string accountName, string password, object userState) {
|
||||
if ((this.SetUserPasswordOperationCompleted == null)) {
|
||||
this.SetUserPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserPasswordOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("SetUserPassword", new object[] {
|
||||
organizationId,
|
||||
accountName,
|
||||
password}, this.SetUserPasswordOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnSetUserPasswordOperationCompleted(object arg) {
|
||||
if ((this.SetUserPasswordCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.SetUserPasswordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserPrincipalName", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void SetUserPrincipalName(string organizationId, string accountName, string userPrincipalName) {
|
||||
this.Invoke("SetUserPrincipalName", new object[] {
|
||||
organizationId,
|
||||
accountName,
|
||||
userPrincipalName});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginSetUserPrincipalName(string organizationId, string accountName, string userPrincipalName, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("SetUserPrincipalName", new object[] {
|
||||
organizationId,
|
||||
accountName,
|
||||
userPrincipalName}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndSetUserPrincipalName(System.IAsyncResult asyncResult) {
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPrincipalNameAsync(string organizationId, string accountName, string userPrincipalName) {
|
||||
this.SetUserPrincipalNameAsync(organizationId, accountName, userPrincipalName, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SetUserPrincipalNameAsync(string organizationId, string accountName, string userPrincipalName, object userState) {
|
||||
if ((this.SetUserPrincipalNameOperationCompleted == null)) {
|
||||
this.SetUserPrincipalNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserPrincipalNameOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("SetUserPrincipalName", new object[] {
|
||||
organizationId,
|
||||
accountName,
|
||||
userPrincipalName}, this.SetUserPrincipalNameOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnSetUserPrincipalNameOperationCompleted(object arg) {
|
||||
if ((this.SetUserPrincipalNameCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.SetUserPrincipalNameCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteOrganizationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
|
@ -804,11 +908,11 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void OrganizationExistsCompletedEventHandler(object sender, OrganizationExistsCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class OrganizationExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
@ -830,11 +934,11 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
@ -856,15 +960,15 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void DeleteOrganizationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
@ -886,15 +990,15 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void DeleteUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void GetUserGeneralSettingsCompletedEventHandler(object sender, GetUserGeneralSettingsCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
@ -916,23 +1020,31 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SetUserGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SetUserPasswordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SetUserPrincipalNameCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void DeleteOrganizationDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void CreateOrganizationDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void GetPasswordPolicyCompletedEventHandler(object sender, GetPasswordPolicyCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetPasswordPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
@ -954,11 +1066,11 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void GetSamAccountNameByUserPrincipalNameCompletedEventHandler(object sender, GetSamAccountNameByUserPrincipalNameCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetSamAccountNameByUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
|
|
@ -125,6 +125,20 @@ namespace WebsitePanel.Server
|
|||
}
|
||||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void SetUserPassword(string organizationId, string accountName, string password)
|
||||
{
|
||||
Organization.SetUserPassword(organizationId, accountName, password);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void SetUserPrincipalName(string organizationId, string accountName, string userPrincipalName)
|
||||
{
|
||||
Organization.SetUserPrincipalName(organizationId, accountName, userPrincipalName);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void DeleteOrganizationDomain(string organizationDistinguishedName, string domain)
|
||||
{
|
||||
|
|
|
@ -3083,6 +3083,19 @@
|
|||
<data name="Success.ORGANIZATION_UPDATE_USER_SETTINGS" xml:space="preserve">
|
||||
<value>User general settings have been successfully updated.</value>
|
||||
</data>
|
||||
<data name="Success.ORGANIZATION_SET_USER_PASSWORD" xml:space="preserve">
|
||||
<value>User password has been successfully updated.</value>
|
||||
</data>
|
||||
<data name="Error.ORGANIZATION_SET_USER_PASSWORD" xml:space="preserve">
|
||||
<value>Failed to update user password.</value>
|
||||
</data>
|
||||
<data name="Success.ORGANIZATION_SET_USER_USERPRINCIPALNAME" xml:space="preserve">
|
||||
<value>User login name has been successfully updated.</value>
|
||||
</data>
|
||||
<data name="Error.ORGANIZATION_SET_USER_USERPRINCIPALNAME" xml:space="preserve">
|
||||
<value>Failed to update user login name.</value>
|
||||
</data>
|
||||
|
||||
<data name="Success.EXCHANGE_MAILBOX_SET_DEFAULT_EMAIL" xml:space="preserve">
|
||||
<value>Mailbox primary e-mail address has been changed.</value>
|
||||
</data>
|
||||
|
|
|
@ -239,4 +239,13 @@
|
|||
<data name="lblUserPrincipalName" xml:space="preserve">
|
||||
<value>Login Name:</value>
|
||||
</data>
|
||||
<data name="btnSetUserPassword.Text" xml:space="preserve">
|
||||
<value>Set Password</value>
|
||||
</data>
|
||||
<data name="btnSetUserPrincipalName.Text" xml:space="preserve">
|
||||
<value>Set Login Name</value>
|
||||
</data>
|
||||
<data name="chkInherit.Text" xml:space="preserve">
|
||||
<value>Set login name for services</value>
|
||||
</data>
|
||||
</root>
|
|
@ -73,7 +73,7 @@
|
|||
<asp:CheckBox ID="chkSelectAll" runat="server" onclick="javascript:SelectAllCheckboxes(this);" />
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox ID="chkSelect" runat="server" Enabled='<%# !(bool)Eval("IsPrimary") %>' />
|
||||
<asp:CheckBox ID="chkSelect" runat="server" Enabled='<%# !((bool)Eval("IsPrimary") | (bool)Eval("IsUserPrincipalName"))%>' />
|
||||
</ItemTemplate>
|
||||
<ItemStyle Width="10px" />
|
||||
</asp:TemplateField>
|
||||
|
@ -87,7 +87,7 @@
|
|||
<ItemTemplate>
|
||||
<div style="text-align:center">
|
||||
|
||||
<asp:Image ID="Image1" runat="server" SkinID="Checkbox16" Visible='<%# Eval("IsPrimary") %>' />
|
||||
<asp:Image ID="Image1" runat="server" SkinID="Checkbox16" Visible='<%# (bool)Eval("IsPrimary")%>' />
|
||||
</div>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
|
|
@ -182,14 +182,5 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkPmmAllowed;
|
||||
|
||||
/// <summary>
|
||||
/// FormComments control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize FormComments;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="../UserControls/PasswordControl.ascx" TagName="PasswordControl" TagPrefix="wsp" %>
|
||||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %>
|
||||
|
@ -47,7 +47,15 @@
|
|||
<td>
|
||||
<asp:Label runat="server" ID="lblUserPrincipalName" />
|
||||
<wsp:EmailAddress id="upn" runat="server" ValidationGroup="CreateMailbox"></wsp:EmailAddress>
|
||||
<asp:DropDownList ID="ddlEmailAddresses" runat="server" CssClass="NormalTextBox"></asp:DropDownList>
|
||||
</td>
|
||||
<td>
|
||||
<asp:Button id="btnSetUserPrincipalName" runat="server" Text="Set Login" CssClass="Button1"
|
||||
meta:resourcekey="btnSetUserPrincipalName" OnClick="btnSetUserPrincipalName_Click"></asp:Button>
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox ID="chkInherit" runat="server" meta:resourcekey="chkInherit" Text="Services inherit Login Name" checked="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
@ -62,8 +70,13 @@
|
|||
<tr>
|
||||
<td class="FormLabel150" valign="top"><asp:Localize ID="locPassword" runat="server" meta:resourcekey="locPassword" Text="Password:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:PasswordControl id="password" runat="server" ValidationGroup="EditMailbox">
|
||||
<wsp:PasswordControl id="password" runat="server" ValidationGroup="ValidatePassword">
|
||||
</wsp:PasswordControl>
|
||||
</td>
|
||||
<td>
|
||||
<asp:Button id="btnSetUserPassword" runat="server" Text="Set Password" CssClass="Button1"
|
||||
meta:resourcekey="btnSetUserPassword" OnClick="btnSetUserPassword_Click" ValidationGroup="ValidatePassword"></asp:Button>
|
||||
<asp:ValidationSummary ID="ValidationSummary2" runat="server" ShowMessageBox="True" ShowSummary="False" ValidationGroup="ValidatePassword" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
@ -71,9 +84,6 @@
|
|||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<asp:CheckBox ID="chkSetPassword" runat="server"
|
||||
meta:resourcekey="chkSetPassword" Text="Set Password"
|
||||
oncheckedchanged="chkSetPassword_CheckedChanged" AutoPostBack="True" />
|
||||
<br />
|
||||
<asp:CheckBox ID="chkDisable" runat="server" meta:resourcekey="chkDisable" Text="Disable User" />
|
||||
<br />
|
||||
|
@ -107,7 +117,7 @@
|
|||
|
||||
</table>
|
||||
|
||||
<wsp:CollapsiblePanel id="secCompanyInfo" runat="server"
|
||||
<wsp:CollapsiblePanel id="secCompanyInfo" runat="server" IsCollapsed="true"
|
||||
TargetControlID="CompanyInfo" meta:resourcekey="secCompanyInfo" Text="Company Information">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="CompanyInfo" runat="server" Height="0" style="overflow:hidden;">
|
||||
|
@ -146,7 +156,7 @@
|
|||
</asp:Panel>
|
||||
|
||||
|
||||
<wsp:CollapsiblePanel id="secContactInfo" runat="server"
|
||||
<wsp:CollapsiblePanel id="secContactInfo" runat="server" IsCollapsed="true"
|
||||
TargetControlID="ContactInfo" meta:resourcekey="secContactInfo" Text="Contact Information">
|
||||
</wsp:CollapsiblePanel>
|
||||
|
||||
|
@ -191,7 +201,7 @@
|
|||
</table>
|
||||
</asp:Panel>
|
||||
|
||||
<wsp:CollapsiblePanel id="secAddressInfo" runat="server"
|
||||
<wsp:CollapsiblePanel id="secAddressInfo" runat="server" IsCollapsed="true"
|
||||
TargetControlID="AddressInfo" meta:resourcekey="secAddressInfo" Text="Address">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="AddressInfo" runat="server" Height="0" style="overflow:hidden;">
|
||||
|
@ -239,7 +249,7 @@
|
|||
</table>
|
||||
|
||||
|
||||
<wsp:CollapsiblePanel id="secAdvanced" runat="server"
|
||||
<wsp:CollapsiblePanel id="secAdvanced" runat="server" IsCollapsed="true"
|
||||
TargetControlID="AdvancedInfo" meta:resourcekey="secAdvanced" Text="Advanced">
|
||||
</wsp:CollapsiblePanel>
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
@ -63,8 +64,6 @@ namespace WebsitePanel.Portal.HostedSolution
|
|||
}
|
||||
}
|
||||
|
||||
password.EditMode = password.ValidationEnabled = false;
|
||||
|
||||
// get settings
|
||||
OrganizationUser user = ES.Services.Organizations.GetUserGeneralSettings(PanelRequest.ItemID,
|
||||
PanelRequest.AccountID);
|
||||
|
@ -127,19 +126,54 @@ namespace WebsitePanel.Portal.HostedSolution
|
|||
{
|
||||
lblUserPrincipalName.Visible = true;
|
||||
upn.Visible = false;
|
||||
ddlEmailAddresses.Visible = false;
|
||||
btnSetUserPrincipalName.Visible = false;
|
||||
chkInherit.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
lblUserPrincipalName.Visible = false;
|
||||
upn.Visible = true;
|
||||
if (!string.IsNullOrEmpty(user.UserPrincipalName))
|
||||
upn.Visible = false;
|
||||
ddlEmailAddresses.Visible = false;
|
||||
btnSetUserPrincipalName.Visible = true;
|
||||
chkInherit.Visible = true;
|
||||
if (user.AccountType == ExchangeAccountType.Mailbox)
|
||||
{
|
||||
string[] Tmp = user.UserPrincipalName.Split('@');
|
||||
upn.AccountName = Tmp[0];
|
||||
ddlEmailAddresses.Visible = true;
|
||||
WebsitePanel.EnterpriseServer.ExchangeEmailAddress[] emails = ES.Services.ExchangeServer.GetMailboxEmailAddresses(PanelRequest.ItemID, PanelRequest.AccountID);
|
||||
|
||||
if (Tmp.Length > 1)
|
||||
foreach (WebsitePanel.EnterpriseServer.ExchangeEmailAddress mail in emails)
|
||||
{
|
||||
upn.DomainName = Tmp[1];
|
||||
ListItem li = new ListItem();
|
||||
li.Text = mail.EmailAddress;
|
||||
li.Value = mail.EmailAddress;
|
||||
li.Selected = mail.IsPrimary;
|
||||
ddlEmailAddresses.Items.Add(li);
|
||||
}
|
||||
|
||||
foreach (ListItem li in ddlEmailAddresses.Items)
|
||||
{
|
||||
if (li.Value == user.UserPrincipalName)
|
||||
{
|
||||
ddlEmailAddresses.ClearSelection();
|
||||
li.Selected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
upn.Visible = true;
|
||||
if (!string.IsNullOrEmpty(user.UserPrincipalName))
|
||||
{
|
||||
string[] Tmp = user.UserPrincipalName.Split('@');
|
||||
upn.AccountName = Tmp[0];
|
||||
|
||||
if (Tmp.Length > 1)
|
||||
{
|
||||
upn.DomainName = Tmp[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,6 +187,8 @@ namespace WebsitePanel.Portal.HostedSolution
|
|||
|
||||
chkLocked.Checked = user.Locked;
|
||||
|
||||
password.ValidationEnabled = true;
|
||||
password.Password = string.Empty;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -165,17 +201,12 @@ namespace WebsitePanel.Portal.HostedSolution
|
|||
if (!Page.IsValid)
|
||||
return;
|
||||
|
||||
string pwd = password.Password;
|
||||
|
||||
if (!chkSetPassword.Checked)
|
||||
pwd = string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
int result = ES.Services.Organizations.SetUserGeneralSettings(
|
||||
PanelRequest.ItemID, PanelRequest.AccountID,
|
||||
txtDisplayName.Text,
|
||||
pwd,
|
||||
string.Empty,
|
||||
false,
|
||||
chkDisable.Checked,
|
||||
chkLocked.Checked,
|
||||
|
@ -230,10 +261,66 @@ namespace WebsitePanel.Portal.HostedSolution
|
|||
SaveSettings();
|
||||
}
|
||||
|
||||
protected void chkSetPassword_CheckedChanged(object sender, EventArgs e)
|
||||
protected void btnSetUserPrincipalName_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
password.EditMode = password.ValidationEnabled = chkSetPassword.Checked;
|
||||
string userPrincipalName = string.Empty;
|
||||
|
||||
if (upn.Visible)
|
||||
userPrincipalName = upn.Email;
|
||||
else
|
||||
if (ddlEmailAddresses.Visible)
|
||||
userPrincipalName = (string)ddlEmailAddresses.SelectedValue;
|
||||
|
||||
if (string.IsNullOrEmpty(userPrincipalName)) return;
|
||||
|
||||
try
|
||||
{
|
||||
int result = ES.Services.Organizations.SetUserPrincipalName(
|
||||
PanelRequest.ItemID, PanelRequest.AccountID,
|
||||
userPrincipalName.ToLower(),
|
||||
chkInherit.Checked);
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
|
||||
messageBox.ShowSuccessMessage("ORGANIZATION_SET_USER_PRINCIPALNAME");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("ORGANIZATION_SET_USER_PRINCIPALNAME", ex);
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSetUserPassword_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (!Page.IsValid)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
int result = ES.Services.Organizations.SetUserPassword(
|
||||
PanelRequest.ItemID, PanelRequest.AccountID,
|
||||
password.Password);
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
|
||||
messageBox.ShowSuccessMessage("ORGANIZATION_SET_USER_PASSWORD");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("ORGANIZATION_SET_USER_PASSWORD", ex);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -120,6 +120,33 @@ namespace WebsitePanel.Portal.HostedSolution {
|
|||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.EmailAddress upn;
|
||||
|
||||
/// <summary>
|
||||
/// ddlEmailAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlEmailAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// btnSetUserPrincipalName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnSetUserPrincipalName;
|
||||
|
||||
/// <summary>
|
||||
/// chkInherit control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkInherit;
|
||||
|
||||
/// <summary>
|
||||
/// locDisplayName control.
|
||||
/// </summary>
|
||||
|
@ -166,13 +193,22 @@ namespace WebsitePanel.Portal.HostedSolution {
|
|||
protected global::WebsitePanel.Portal.PasswordControl password;
|
||||
|
||||
/// <summary>
|
||||
/// chkSetPassword control.
|
||||
/// btnSetUserPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkSetPassword;
|
||||
protected global::System.Web.UI.WebControls.Button btnSetUserPassword;
|
||||
|
||||
/// <summary>
|
||||
/// ValidationSummary2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary2;
|
||||
|
||||
/// <summary>
|
||||
/// chkDisable control.
|
||||
|
|
|
@ -56,8 +56,8 @@ REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OCSProxy.cs
|
|||
REM %WSDL% %SERVER_URL%/esOperatingSystems.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs
|
||||
|
||||
REM %WSDL% %SERVER_URL%/esOrganizations.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
|
||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs
|
||||
%WSDL% %SERVER_URL%/esOrganizations.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
|
||||
%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs
|
||||
|
||||
REM %WSDL% %SERVER_URL%/esPackages.asmx /out:.\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs
|
||||
|
@ -92,8 +92,8 @@ REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\WebServersProxy.cs
|
|||
REM %WSDL% %SERVER_URL%/esVirtualizationServerForPrivateCloud.asmx /out:.\WebsitePanel.EnterpriseServer.Client\VirtualizationServerProxyForPrivateCloud.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\VirtualizationServerProxyForPrivateCloud.cs
|
||||
|
||||
%WSDL% %SERVER_URL%/esLync.asmx /out:.\WebsitePanel.EnterpriseServer.Client\LyncProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||
%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\LyncProxy.cs
|
||||
REM %WSDL% %SERVER_URL%/esLync.asmx /out:.\WebsitePanel.EnterpriseServer.Client\LyncProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\LyncProxy.cs
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -35,8 +35,8 @@ REM %WSE_CLEAN% .\WebsitePanel.Server.Client\OCSServerProxy.cs
|
|||
REM %WSDL% %SERVER_URL%/OperatingSystem.asmx /out:.\WebsitePanel.Server.Client\OperatingSystemProxy.cs /namespace:WebsitePanel.Providers.OS /type:webClient /fields
|
||||
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\OperatingSystemProxy.cs
|
||||
|
||||
REM %WSDL% %SERVER_URL%/Organizations.asmx /out:.\WebsitePanel.Server.Client\OrganizationProxy.cs /namespace:WebsitePanel.Providers.HostedSolution /type:webClient /fields
|
||||
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\OrganizationProxy.cs
|
||||
%WSDL% %SERVER_URL%/Organizations.asmx /out:.\WebsitePanel.Server.Client\OrganizationProxy.cs /namespace:WebsitePanel.Providers.HostedSolution /type:webClient /fields
|
||||
%WSE_CLEAN% .\WebsitePanel.Server.Client\OrganizationProxy.cs
|
||||
|
||||
REM %WSDL% %SERVER_URL%/ServiceProvider.asmx /out:.\WebsitePanel.Server.Client\ServiceProviderProxy.cs /namespace:WebsitePanel.Providers /type:webClient /fields
|
||||
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\ServiceProviderProxy.cs
|
||||
|
@ -56,7 +56,7 @@ REM %WSE_CLEAN% .\WebsitePanel.Server.Client\WebServerProxy.cs
|
|||
REM %WSDL% %SERVER_URL%/WindowsServer.asmx /out:.\WebsitePanel.Server.Client\WindowsServerProxy.cs /namespace:WebsitePanel.Server /type:webClient /fields
|
||||
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\WindowsServerProxy.cs
|
||||
|
||||
%WSDL% %SERVER_URL%/LyncServer.asmx /out:.\WebsitePanel.Server.Client\LyncServerProxy.cs /namespace:WebsitePanel.Providers.Lync /type:webClient /fields
|
||||
%WSE_CLEAN% .\WebsitePanel.Server.Client\LyncServerProxy.cs
|
||||
REM %WSDL% %SERVER_URL%/LyncServer.asmx /out:.\WebsitePanel.Server.Client\LyncServerProxy.cs /namespace:WebsitePanel.Providers.Lync /type:webClient /fields
|
||||
REM %WSE_CLEAN% .\WebsitePanel.Server.Client\LyncServerProxy.cs
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue