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;
}