我正在使用 C++ Win32 API ...
我想知道用户密码策略属性值...
即“密码永不过期”,如何使用 C++ Win32 API 检查此属性是否已检查?
我正在使用 C++ Win32 API ...
我想知道用户密码策略属性值...
即“密码永不过期”,如何使用 C++ Win32 API 检查此属性是否已检查?
您可以使用 COM 接口 IADsUser。请参阅此 MSDN 示例以启用“永不过期”标志
您可以在行之前使用它的第一部分V_I4(&var) |= ADS_UF_DONT_EXPIRE_PASSWD;
- 将其替换为if (V_I4(&var) & ADS_UF_DONT_EXPIRE_PASSWD) { /* option is enabled! your code here */}
希望这可以帮助。这是工作:)
请查看此...希望它可以解决您的问题
WriteLogMessage("处理中:" + UserEntry.Name);
WriteLogMessage("Max Password Age:" + iMaxPwdAge);
//Console.WriteLine("Account control:" + UserEntry.Properties["userAccountcontrol"].Value);
int userAccountControl = Convert.ToInt32(UserEntry.Properties["userAccountcontrol"].Value);
if ((userAccountControl & ADS_DONT_EXPIRE_PASSWORD) > 0)
{
WriteLogMessage("Password never expires for:" + UserEntry.Name);
}
else
{
WriteLogMessage("Password expiration date found for:" + UserEntry.Name);
ActiveDs.IADsUser native = (ActiveDs.IADsUser)UserEntry.NativeObject;
DateTime passwordLastChanged = new DateTime(9999, 1, 1);
try
如果您想使用没有脚本,请使用第三方工具。它会自动将您更新为密码已过期和密码永不过期。