我已经看过高和低的方式来检查本地帐户的密码策略的本地用户管理器设置。基本上,我只是希望我的应用程序立即告诉我,如果当前用户帐户密码设置为在文本框中说“通过”或“失败”而过期。我检查了WMIC和其他一些参考资料,并没有发现任何有价值的东西。有什么想法吗?检查Windows帐户密码是否被设置为允许在C#中过期
编辑:我去了一个略有不同的路线,并调用CMD在后台与管理权限`string domainName = System.Security.Principal.WindowsIdentity.GetCurrent()。Name.Split('\')。First() ; ; dName.Text = domainName;
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split('\\').Last(); ;
user.Text = userName;
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.Arguments = "/c net user" + " " + user.Text;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.RedirectStandardError = true;
cmd.Start();
//* Read the output (or the error)
string output = cmd.StandardOutput.ReadToEnd();
RtextBox2.Text = output;
cmd.WaitForExit();
// Check string for specific value of "Password expires Never" if NOT present, pass the client. If PRESENT Fail the client. Override in next section below.
if (RtextBox2.Text.Contains("Password expires Never") == false)
{
pwexpire.Text = "PASS";
}
else
{
pwexpire.Text = "FAIL";
}`.
我已经回答了我自己的问题,但系统不会允许我将其标记为已回答。我想完成这个,以便其他人可以看到我如何完成我描述的帽子。 –