如何使用 PrincipalSearcher 按公用名在 Active Directory 中查找单个用户?
How can I find a single user in Active Directory by common name using PrincipalSearcher?
我正在尝试使用 System.DirectoryServices 查找用户的管理员。所以我使用当前代码来获取管理器。
string test = string.Empty;
using(var context = new PrincipalContext(ContextType.Domain))
{
using(var user = UserPrincipal.FindByIdentity(context, "user"))
{
DirectoryEntry de = (DirectoryEntry)user.GetUnderlyingObject();
test = de.Properties["manager"][0].ToString();
}
}
然后测试变量只包含经理的 CN 或通用名称。我需要使用该通用名称来获取经理的实际用户。因为我需要 UserID 和 Email 等东西。我该如何实现?
manager
attribute 包含经理帐户的可分辨名称(通用名称只是可分辨名称的 CN=
部分)。
您可以将 UserPrincipal.FindByIdentity()
与该专有名称一起使用,就像您对用户所做的那样:
var manager = UserPrincipal.FindByIdentity(context, test);
我正在尝试使用 System.DirectoryServices 查找用户的管理员。所以我使用当前代码来获取管理器。
string test = string.Empty;
using(var context = new PrincipalContext(ContextType.Domain))
{
using(var user = UserPrincipal.FindByIdentity(context, "user"))
{
DirectoryEntry de = (DirectoryEntry)user.GetUnderlyingObject();
test = de.Properties["manager"][0].ToString();
}
}
然后测试变量只包含经理的 CN 或通用名称。我需要使用该通用名称来获取经理的实际用户。因为我需要 UserID 和 Email 等东西。我该如何实现?
manager
attribute 包含经理帐户的可分辨名称(通用名称只是可分辨名称的 CN=
部分)。
您可以将 UserPrincipal.FindByIdentity()
与该专有名称一起使用,就像您对用户所做的那样:
var manager = UserPrincipal.FindByIdentity(context, test);