在C#中使用全名搜索ActiveDirectory,可以使用System.DirectoryServices.AccountManagement命名空间中的PrincipalContext和Principal类。以下是一个示例代码:
using System;
using System.DirectoryServices.AccountManagement;
class Program
{
static void Main(string[] args)
{
string domainName = "your-domain-name";
string username = "your-username";
string password = "your-password";
PrincipalContext context = new PrincipalContext(ContextType.Domain, domainName, username, password);
UserPrincipal user = new UserPrincipal(context);
user.Name = "Full Name";
PrincipalSearcher searcher = new PrincipalSearcher();
searcher.QueryFilter = user;
foreach (Principal result in searcher.FindAll())
{
Console.WriteLine("Found user: {0}", result.Name);
}
}
}
在上面的代码中,我们首先创建了一个PrincipalContext对象,它表示我们要连接到的ActiveDirectory域。然后,我们创建了一个UserPrincipal对象,并设置其Name属性为我们要搜索的全名。接下来,我们创建了一个PrincipalSearcher对象,并将查询过滤器设置为我们的UserPrincipal对象。最后,我们使用PrincipalSearcher对象的FindAll方法来搜索匹配的用户,并将结果打印到控制台上。
注意:在使用PrincipalContext对象时,需要提供有效的域名、用户名和密码。这些值应该是有效的ActiveDirectory凭据,以便能够连接到ActiveDirectory并执行搜索操作。
云+社区沙龙online第5期[架构演进]
企业创新在线学堂
云+社区技术沙龙[第21期]
云+社区技术沙龙[第19期]
Elastic 中国开发者大会
Elastic 中国开发者大会
企业创新在线学堂
云+社区技术沙龙[第6期]
云+社区技术沙龙[第7期]
领取专属 10元无门槛券
手把手带您无忧上云