/// <summary> /// 创建邮箱组 /// </summary> /// <param name="entity"></param> /// <param name="members">可以是邮箱集合,或者是用户的SamAccountName、Name等</param> /// <param name="exConfig"></param> public static ExcuseResult NewDistributionGroup(ExchangeMailGroup entity, List <string> members, ExchangeAdminConfig exConfig) { var er = new ExcuseResult(); var command = new Command("New-DistributionGroup"); command.Parameters.Add("Name", entity.Name); command.Parameters.Add("OrganizationalUnit", entity.OrganizationalUnit); if (!string.IsNullOrEmpty(entity.Alias)) { command.Parameters.Add("Alias", entity.Alias); } if (!string.IsNullOrEmpty(entity.SamAccountName)) { command.Parameters.Add("SamAccountName", entity.SamAccountName); } if (!string.IsNullOrEmpty(entity.Type)) { command.Parameters.Add("Type", entity.Type); } if (!string.IsNullOrEmpty(entity.DomainController)) { command.Parameters.Add("DomainController", entity.DomainController); } if (!string.IsNullOrEmpty(entity.DisplayName)) { command.Parameters.Add("DisplayName", entity.DisplayName); } if (!string.IsNullOrEmpty(entity.Notes)) { command.Parameters.Add("Notes", entity.Notes); } if (members != null && members.Count > 0) { var menbersStr = string.Join(",", members); command.Parameters.Add("Members", menbersStr); } try { string result = RunExchangePowerShellScript(command, exConfig); if (!string.IsNullOrEmpty(result) && result != "FAIL") { return(er.SetSuccessResult()); } return(er.SetFailResult()); } catch (Exception ex) { return(er.SetErrorResult(ex.Message)); } }
public ExchangeMailGroup GetInstance(PSObject psObject) { var entity = new ExchangeMailGroup(); if (psObject.Properties["SamAccountName"] != null) { entity.SamAccountName = psObject.Properties["SamAccountName"].Value.ToString(); } else { return(null); } if (psObject.Properties["Notes"] != null) { entity.Notes = psObject.Properties["Notes"].Value.ToString(); } if (psObject.Properties["Type"] != null) { entity.Type = psObject.Properties["Type"].Value.ToString(); } if (psObject.Properties["DisplayName"] != null) { entity.DisplayName = psObject.Properties["DisplayName"].Value.ToString(); } if (psObject.Properties["Name"] != null) { entity.Name = psObject.Properties["Name"].Value.ToString(); } if (psObject.Properties["Alias"] != null) { entity.Alias = psObject.Properties["Alias"].Value.ToString(); } if (psObject.Properties["OrganizationalUnit"] != null) { entity.OrganizationalUnit = psObject.Properties["OrganizationalUnit"].Value.ToString(); } return(entity); }
/// <summary> /// 启用AD邮件组,显示在exchange组中,可以首发邮件 /// </summary> /// <param name="entity">组的信息</param> /// <param name="config"></param> /// <returns></returns> public static ExcuseResult EnableDistributionGroup(ExchangeMailGroup entity, ExchangeAdminConfig config) { ExcuseResult er = new ExcuseResult(); var command = new Command("Enable-DistributionGroup"); command.Parameters.Add("Identity", entity.Name); if (!string.IsNullOrEmpty(config.DomainController)) { command.Parameters.Add("DomainController", config.DomainController); } if (!string.IsNullOrEmpty(entity.Alias)) { command.Parameters.Add("Alias", entity.Alias); } if (!string.IsNullOrEmpty(entity.DisplayName)) { command.Parameters.Add("DisplayName", entity.DisplayName); } try { string result = RunExchangePowerShellScript(command, config); if (!string.IsNullOrEmpty(result) && result != "FAIL") { return(er.SetSuccessResult()); } return(er.SetFailResult()); } catch (Exception ex) { return(er.SetErrorResult(ex.Message)); } }
/// <summary> /// 获取用户组 /// </summary> /// <param name="identity"></param> /// <param name="exConfig"></param> /// <returns></returns> public static ExchangeMailGroup GetDistributionGroup(string identity, ExchangeAdminConfig exConfig) { var command = new Command("Get-DistributionGroup"); command.Parameters.Add("Identity", identity); try { IEnumerable <PSObject> menbers; string result = RunExchangePowerShellScript(command, exConfig, out menbers); if (!string.IsNullOrEmpty(result) && result != "FAIL") { var psObjects = menbers as IList <PSObject> ?? menbers.ToList(); PSObject psObject = psObjects[0]; var group = new ExchangeMailGroup().GetInstance(psObject); return(group); } return(null); } catch (Exception ex) { return(null); } }