internal static ADGroup CreateUniqueChildSG(IRecipientSession session, ADObjectId dom, ADObjectId containerId, string groupNameOrig, string groupDescription, string groupSam, GroupTypeFlags groupType, OrganizationId orgId) { string commonName = InitializeExchangeUniversalGroups.FindUniqueCN(session, containerId, groupNameOrig); ADGroup adgroup = new ADGroup(session, commonName, containerId, groupType); MultiValuedProperty <string> multiValuedProperty = new MultiValuedProperty <string>(); multiValuedProperty.Add(groupDescription); adgroup[ADRecipientSchema.Description] = multiValuedProperty; adgroup.SamAccountName = groupSam; adgroup.OrganizationId = orgId; InitializeExchangeUniversalGroups.SaveGroup(session, containerId, adgroup); TaskLogger.Trace(Strings.InfoCreatedGroup(adgroup.DistinguishedName)); return(adgroup); }
private ADGroup CreateOrMoveEWPGroup(ADGroup ewp, ADOrganizationalUnit usgContainer) { if (ewp == null) { return(this.CreateGroup(usgContainer, "Exchange Windows Permissions", 0, WellKnownGuid.EwpWkGuid, Strings.ExchangeWindowsPermissionsDescription)); } if (!ewp.Id.IsDescendantOf(usgContainer.Id)) { ewp.SetId(usgContainer.Id.GetChildId("CN", ewp.Id.Rdn.UnescapedName)); InitializeExchangeUniversalGroups.SaveGroup(this.rootDomainRecipientSession, usgContainer.Id, ewp); TaskLogger.Trace(Strings.InfoMovedGroup(ewp.DistinguishedName, ewp.Id.Parent.ToDNString(), usgContainer.Id.ToDNString())); } return(ewp); }
internal static ADGroup CreateUniqueRoleGroup(IRecipientSession session, ADObjectId dom, ADObjectId containerId, string groupNameOrig, int groupId, string groupDescription, string groupSam, List <ADObjectId> manageBy, OrganizationId orgId) { string commonName = InitializeExchangeUniversalGroups.FindUniqueCN(session, containerId, groupNameOrig); ADGroup adgroup = new ADGroup(session, commonName, containerId, GroupTypeFlags.Universal | GroupTypeFlags.SecurityEnabled); adgroup.RecipientTypeDetails = RecipientTypeDetails.RoleGroup; adgroup.SamAccountName = groupSam; adgroup.OrganizationId = orgId; adgroup[ADRecipientSchema.Description] = new MultiValuedProperty <string>(groupDescription); adgroup[ADGroupSchema.RoleGroupTypeId] = groupId; if (manageBy != null && manageBy.Count > 0) { adgroup.ManagedBy = new MultiValuedProperty <ADObjectId>(manageBy); } InitializeExchangeUniversalGroups.SaveGroup(session, containerId, adgroup); TaskLogger.Trace(Strings.InfoCreatedGroup(adgroup.DistinguishedName)); return(adgroup); }