有没有办法在 C# 中查询当前用户的密码期限(以天为单位)?

Is there a way to Query current user's password age (in days) in C#?

具体来说,我想确定当前密码的有效期,以便我可以将其以 windows 形式显示在文本框中。

也许WMIC 库中有一些我没见过的东西?

编辑:

如果您使用 net user + windows 用户名(我可以轻松提取),您会得到包含密码设置日期和密码到期时间的结果。我想提取该数据。

试一试:

using (var userEntry = new DirectoryEntry("WinNT://" + Environment.MachineName + '/' + Environment.UserName + ",user"))
{
    int secondsSinceLastChange = (int)userEntry.InvokeGet("PasswordAge");
    int daysSinceLastChange = secondsSinceLastChange / 60 / 60 / 24;

    Console.WriteLine("{0} days since your last password change.", daysSinceLastChange);
}

您可能需要添加 System.DirectoryServices 参考。