Ejemplo n.º 1
0
 private PowerShellResults <AdminRoleGroupRow> AddRoleAssignments(IEnumerable <Identity> addedRoles, ManagementRoleAssignments roleAssignmentsWebService, Identity identity, ManagementScopeRow scopeRow, ExtendedOrganizationalUnit ouRow, PowerShellResults <AdminRoleGroupRow> results)
 {
     if (addedRoles != null)
     {
         foreach (Identity identity2 in addedRoles)
         {
             NewManagementRoleAssignment newManagementRoleAssignment = new NewManagementRoleAssignment();
             newManagementRoleAssignment.Role          = identity2;
             newManagementRoleAssignment.SecurityGroup = identity.RawIdentity;
             this.SetScopeInfoInParameter(identity2, newManagementRoleAssignment, scopeRow, ouRow, results);
             if (results.Failed)
             {
                 return(results);
             }
             results.MergeErrors <ManagementRoleAssignment>(roleAssignmentsWebService.NewObject(newManagementRoleAssignment));
         }
         return(results);
     }
     return(results);
 }
Ejemplo n.º 2
0
        private void UpdateRoleAssignments(PowerShellResults <RoleAssignmentPolicy> result, SetRoleAssignmentPolicy properties)
        {
            RoleAssignmentPolicy      value = result.Value;
            ManagementRoleAssignments managementRoleAssignments = new ManagementRoleAssignments();
            Delta <Identity>          delta = value.AssignedEndUserRoles.CalculateDelta(properties.AssignedEndUserRoles);

            if (delta.RemovedObjects != null && delta.RemovedObjects.Count > 0)
            {
                result.MergeErrors(this.RemoveRoleAssignments(delta.RemovedObjects, value, managementRoleAssignments));
                if (result.Failed)
                {
                    return;
                }
            }
            foreach (Identity role in delta.AddedObjects)
            {
                result.MergeErrors <ManagementRoleAssignment>(managementRoleAssignments.NewObject(new NewManagementRoleAssignment
                {
                    Policy = value.Identity,
                    Role   = role
                }));
            }
        }