internal override AdminRoleDefinition[] ComputeAdminRoles(IRootOrganizationRecipientSession recipientSession, ITopologyConfigurationSession configSession) { string containerDN = configSession.ConfigurationNamingContext.ToDNString(); ADGroup adgroup = recipientSession.ResolveWellKnownGuid <ADGroup>(WellKnownGuid.EmaWkGuid, containerDN); return(new AdminRoleDefinition[] { new AdminRoleDefinition(adgroup.Sid, "RecipientAdmins"), new AdminRoleDefinition(recipientSession.GetExchangeServersUsgSid(), "ExchangeServers"), new AdminRoleDefinition(new SecurityIdentifier(WellKnownSidType.LocalSystemSid, null), "LocalSystem"), new AdminRoleDefinition(new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null), "BuiltinAdmins") }); }
internal override AdminRoleDefinition[] ComputeAdminRoles(IRootOrganizationRecipientSession recipientSession, ITopologyConfigurationSession configSession) { string containerDN = configSession.ConfigurationNamingContext.ToDNString(); ADGroup adgroup = recipientSession.ResolveWellKnownGuid <ADGroup>(WellKnownGuid.EmaWkGuid, containerDN); List <AdminRoleDefinition> list = new List <AdminRoleDefinition>(4); list.Add(new AdminRoleDefinition(adgroup.Sid, "RecipientAdmins")); list.Add(new AdminRoleDefinition(recipientSession.GetExchangeServersUsgSid(), "ExchangeServers")); list.Add(new AdminRoleDefinition(new SecurityIdentifier(WellKnownSidType.LocalSystemSid, null), "LocalSystem")); list.Add(new AdminRoleDefinition(new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null), "BuiltinAdmins")); SecurityIdentifier[] additionalSids = this.GetAdditionalSids(); for (int i = 0; i < additionalSids.Length; i++) { string roleName = string.Format("AdditionalAdminRoleFromConfiguration {0}", i); list.Add(new AdminRoleDefinition(additionalSids[i], roleName)); } return(list.ToArray()); }