Установка минимальной длины пароля в групповой политике - PullRequest
1 голос
/ 16 апреля 2020

Я написал код, используя функцию windows API NetUserModalsSet , чтобы установить минимальную длину пароля. Теперь у этого есть разные уровни (структуры), чтобы установить то, что мы хотим

USER_MODALS_INFO_0 эта структура позволяет нам дать максимальное значение для длины пароля как LM20_PWLEN (14). Если задано какое-либо значение, превышающее это, возвращается ошибка «Неверные параметры». Но так как я хочу установить более, я использовал USER_MODALS_INFO_1001 , поскольку это позволяет PWLEN (256).

Когда я использую структуру USER_MODALS_INFO_1001 с длиной пароля> 14, он возвращает ошибка неверного параметра. Но если я определю его как 14, он работает правильно. Теперь это должно было работать с любой длиной пароля <= 256, но не сработало. </p>

Есть ли причина, почему это проявляет такое поведение? Я приложил фрагмент моего кода

    USER_MODALS_INFO_1001 pBufPass;
    DWORD mode = 1001, value = 17,parm_err;
    printf("The minimum password length is going to be set as %lu\n",value);
    pBufPass.usrmod1001_min_passwd_len = value;
    printf("Value that is going to be set is : %lu\n",pBufPass.usrmod1001_min_passwd_len);
    NET_API_STATUS nStatus = NetUserModalsSet(NULL, mode, (LPBYTE)&pBufPass, &parm_err);
    if (nStatus != NERR_Success)
    {
        printf("Error while using NetUserModalsSet. Error code : %lu and parm_err : %lu\n", nStatus, parm_err);
        ret = false;
    }

1 Ответ

2 голосов
/ 17 апреля 2020

Для параметра usrmod1001_min_passwd_len из USER_MODALS_INFO_1001 структура:

  • Windows 7 значение поддержки 0 и 14 .

  • Windows 10 (тестовая версия 1903) поддерживает значение от 0 до 256 (PWLEN).

...