я использую C ++ Win32 API …
я хочу знать значение свойств политик паролей пользователей …
то есть «Пароль никогда не истекает», как проверить, проверено ли это свойство или нет с помощью Win32 API C ++?
Вы можете использовать интерфейс 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
Иначе без сценария, если вы хотите использовать, пожалуйста, используйте сторонний инструмент. Он автоматически обновит вас, если срок действия пароля истек, а пароль никогда не истек.