Как отметил @Chris Pratt в своем комментарии, нет никакой сборки, которая могла бы решить эту проблему с asp.net core 2.0, но есть простой способ сделать это с помощью C #.
Так что яЭто было очень просто, сначала я создал следующий класс (в значительной степени вдохновленный: https://stackoverflow.com/a/19604001/9641435)
using System.DirectoryServices.AccountManagement; //can be downloaded via NUGET Package manager
using System.Collections.Generic;
namespace MYNAMESPACE
{
public static class ActiveDirectoryHelper
{
public static List<string> GetAllUserRealNamesFromAdGroup(string i_activeDirectyGroup)
{
var users = new List<string>();
using (var context = new PrincipalContext(ContextType.Domain, "MY.DOMAIN.NAME"))
{
using (var group = GroupPrincipal.FindByIdentity(context, i_activeDirectyGroup))
{
if (group != null)
{
var usersPrincipals = group.GetMembers(true);
foreach (UserPrincipal user in usersPrincipals)
{
//There are also other properties available, but in my case I just need the first and surname:
users.Add($"{user.GivenName} {user.Surname}");
}
}
}
return users;
}
}
}
}
А теперь из моего контроллера я просто делаю следующее:
[HttpGet]
public IActionResult MyAction()
{
var myVm = new MyViewModel();
List<string> userList = ActiveDirectoryHelper.GetAllUserRealNamesFromAdGroup("MYGROUP");
//do whatever you want with this list right here:
return View(myVm);
}
Я надеюсь,этот пост может помочь кому-то еще в будущем, поэтому я опубликовал его в качестве ответа.