public static PSADObject ToPSADObject(this ADGroup group) { var adObj = new PSADObject() { DisplayName = group.DisplayName }; return(AssignObjectId(adObj, group.ObjectId)); }
public static PSADObject ToPSADGroup(this DirectoryObject obj) { var adObj = new PSADObject() { DisplayName = (obj as ADGroup).DisplayName, }; return(AssignObjectId(adObj, obj.ObjectId)); }
public static PSADObject ToPSADObject(this User user) { var adObj = new PSADObject() { DisplayName = user.DisplayName }; return(AssignObjectId(adObj, user.ObjectId)); }
public static PSADObject AssignObjectId(PSADObject adObj, string objectId) { if (Guid.TryParse(objectId, out Guid objectIdGuid)) { adObj.Id = objectIdGuid; } else { adObj.AdfsId = objectId; } return(adObj); }
public List <PSADObject> ListUserGroups(string principal) { List <PSADObject> result = new List <PSADObject>(); Guid objectId = GetObjectId(new ADObjectFilterOptions { UPN = principal }); PSADObject user = GetADObject(new ADObjectFilterOptions { Id = objectId.ToString() }); var groupsIds = GraphClient.Users.GetMemberGroups(objectId.ToString(), new UserGetMemberGroupsParameters()); var groupsResult = GraphClient.Objects.GetObjectsByObjectIds(new GetObjectsParameters { ObjectIds = groupsIds.ToList() }); result.AddRange(groupsResult.Select(g => g.ToPSADGroup())); return(result); }
public string GetAdfsObjectId(ADObjectFilterOptions options) { string principalId = null; if (options != null && options.Id != null) { // do nothing, we have parsed the guid } else { PSADObject adObj = GetADObject(options); if (adObj == null) { throw new KeyNotFoundException("The provided information does not map to an AD object id."); } principalId = adObj.AdfsId; } return(principalId); }
public PSADObject GetADObject(ADObjectFilterOptions options) { PSADObject result = null; Debug.Assert(options != null); if (IsSet(options.Mail, options.UPN, options.Id)) { result = FilterUsers(options).FirstOrDefault(); } if (result == null && IsSet(options.SPN, options.Id)) { result = FilterServicePrincipals(options).FirstOrDefault(); } if (result == null && IsSet(options.Mail, options.Id)) { result = FilterGroups(options).FirstOrDefault(); } return(result); }