internal void OnAddADAccount(object sender, EventArgs e) { formActiveDirectoryAccounts accountsDlg = new formActiveDirectoryAccounts(); if (accountsDlg.ShowDialog() == DialogResult.OK) { hMailServer.Domain domain = APICreator.GetDomain(_domainID); hMailServer.Accounts accounts = domain.Accounts; Instances.MainForm.Cursor = Cursors.WaitCursor; string domainName = accountsDlg.DomainName; List<string> accountNames = accountsDlg.AccountNames; foreach (string accountName in accountNames) { try { hMailServer.Account account = accounts.Add(); account.IsAD = true; account.ADDomain = domainName; account.ADUsername = accountName; account.Active = true; string address = accountName; address = address.Replace(" ", "."); address = address + "@" + domain.Name; account.Address = address; account.Save(); Marshal.ReleaseComObject(account); } catch (Exception ex) { MessageBox.Show(ex.Message, EnumStrings.hMailServerAdministrator); } } Marshal.ReleaseComObject(domain); Marshal.ReleaseComObject(accounts); Instances.MainForm.Cursor = Cursors.Default; } IMainForm mainForm = Instances.MainForm; mainForm.RefreshCurrentNode(null); mainForm.ShowItem(mainForm.GetCurrentNode()); }