代码1
using System;
using System.DirectoryServices.AccountManagement;
class Program
{
static void Main(string[] args)
{
// 从控制台输入用户名
Console.Write("请输入要查询的用户名: ");
string userName = Console.ReadLine();
// 使用当前默认域名
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
// 查找用户
UserPrincipal user = UserPrincipal.FindByIdentity(context, userName);
if (user != null)
{
// 检查账号是否禁用
bool isAccountDisabled = user.Enabled.HasValue && !user.Enabled.Value;
Console.WriteLine("账号是否禁用: " + isAccountDisabled);
// 检查密码是否永不过期
bool isPasswordNeverExpires = user.PasswordNeverExpires;
Console.WriteLine("密码是否永不过期: " + isPasswordNeverExpires);
}
else
{
Console.WriteLine("找不到用户: " + userName);
}
}
Console.ReadKey();
}
}
代码2
try
{
// 使用当前默认域名
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
// 创建一个 UserPrincipal 对象来搜索所有用户
UserPrincipal userPrincipal = new UserPrincipal(context);
using (PrincipalSearcher searcher = new PrincipalSearcher(userPrincipal))
{
foreach (Principal result in searcher.FindAll())
{
// 将结果转换为 UserPrincipal
UserPrincipal user = result as UserPrincipal;
if (user != null)
{
// 打印用户名
Console.WriteLine("用户名: " + user.SamAccountName);
// 检查账号是否禁用
bool isAccountDisabled = user.Enabled.HasValue && !user.Enabled.Value;
Console.WriteLine("账号是否禁用: " + isAccountDisabled);
// 检查密码是否永不过期
bool isPasswordNeverExpires = user.PasswordNeverExpires;
Console.WriteLine("密码是否永不过期: " + isPasswordNeverExpires);
//最后一次修改密码 实际结果要+8小时?
Console.WriteLine("最后一次修改密码: " + user.LastPasswordSet);
Console.WriteLine("--------------------------------------------");
}
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("发生错误: " + ex.Message);
}
Console.ReadKey();