public ActionResult AddAlias(FormCollection _POST) { try { CustomAlias addAlias = new CustomAlias() { Organization = _POST["organization"], UserPrincipalName = _POST["userprincipalname"], EmailAddresses = _POST["emailaddresses"].Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).ToList <string>(), SetFirstAsPrimary = _POST["setfirstasprimary"] == "on" ? true : false }; for (int i = 0; i < addAlias.EmailAddresses.Count; i++) { addAlias.EmailAddresses[i] = addAlias.EmailAddresses[i].Trim(); } if (addAlias.EmailAddresses.Count == 0) { throw new Exception("No aliases specified"); } model.Alias = addAlias; CommonCAS.Log(string.Format("has run Mail/AddAlias() for user {0} to add alias {1}", addAlias.UserPrincipalName, string.Join(",", addAlias.EmailAddresses))); // execute powershell script and dispose powershell object using (MyPowerShell ps = new MyPowerShell()) { ps.AddAlias(addAlias); var result = ps.Invoke(); } CommonCAS.Stats("Mail/AddAlias"); model.OKMessage.Add("Successfully added alias for " + addAlias.UserPrincipalName + ":"); foreach (string alias in addAlias.EmailAddresses) { model.OKMessage.Add(alias); } return(View("AddAlias", model)); } catch (Exception exc) { CommonCAS.Log("Exception: " + exc.Message); model.ActionFailed = true; model.Message = exc.Message; return(View(model)); } }