在C#中获取当前用户的Active Directory详细信息,可以使用System.DirectoryServices.AccountManagement命名空间中的PrincipalContext和UserPrincipal类。以下是一个示例代码:
using System;
using System.DirectoryServices.AccountManagement;
class Program
{
static void Main(string[] args)
{
// 创建PrincipalContext对象
PrincipalContext context = new PrincipalContext(ContextType.Domain);
// 获取当前用户的UserPrincipal对象
UserPrincipal user = UserPrincipal.Current;
// 输出用户的详细信息
Console.WriteLine("用户名:" + user.Name);
Console.WriteLine("显示名:" + user.DisplayName);
Console.WriteLine("电子邮件地址:" + user.EmailAddress);
Console.WriteLine("帐户创建时间:" + user.AccountExpirationDate);
Console.WriteLine("密码最后更改时间:" + user.LastPasswordSet);
Console.WriteLine("密码到期时间:" + user.PasswordExpirationDate);
Console.WriteLine("是否启用帐户:" + user.Enabled);
Console.WriteLine("是否锁定帐户:" + user.IsAccountLockedOut());
Console.WriteLine("是否需要更改密码:" + user.PasswordNeverExpires);
}
}
在上面的代码中,我们首先创建了一个PrincipalContext对象,该对象表示与Active Directory域的连接。然后,我们使用UserPrincipal.Current属性获取当前用户的UserPrincipal对象。最后,我们使用UserPrincipal对象的属性和方法输出用户的详细信息。
需要注意的是,在运行上面的代码之前,需要确保已经安装了.NET Framework 3.5或更高版本,并且已经添加了对System.DirectoryServices.AccountManagement.dll的引用。
领取专属 10元无门槛券
手把手带您无忧上云