c++ - 在组策略中设置最小密码长度

标签 c++ winapi policy

我使用Windows API NetUserModalsSet函数编写了代码,以设置最小密码长度。
现在,它具有不同的级别(结构)来设置我们想要的

USER_MODALS_INFO_0 这种结构使我们可以将密码长度的最大值指定为LM20_PWLEN(14)。如果给出的任何值大于此值,则返回无效参数错误。但是由于我想将其设置为更多,所以我使用了USER_MODALS_INFO_1001,因为它允许PWLEN(256)。

当我使用密码长度> 14的USER_MODALS_INFO_1001结构时,它将返回无效的参数错误。但是,如果我将其定义为14,则它可以正常工作。现在,它应该可以使用任何长度小于等于256的密码,但不能。

有这种现象表现出来的原因吗?我已附上代码片段

    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;
    }

最佳答案

对于 usrmod1001_min_passwd_len 结构的参数USER_MODALS_INFO_1001:

  • Windows 7 支持值 0和14
  • Windows 10 (测试版本1903)支持 0和256 (PWLEN)之间的值。
  • 关于c++ - 在组策略中设置最小密码长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61245415/

    相关文章:

    c++ - std::ifstream 将文件读取为 BYTE(unsigned char)而非 char

    c++ - 无法显式实例化模板类

    c++ - Windows资源源文件#define的含义

    c++ - windows api创建快捷方式并将应用程序放入开始菜单

    c++ - 我必须使用什么 Uxtheme 函数来获取最小化、最大化和关闭按钮的默认大小?

    tfs - 如何确保 TFS 客户端安装了最新版本的自定义 checkin 策略?

    c++ - Opencv 断言错误

    c++ - 如何使用 boost 二分法?

    google-play - React Native : Violation of Usage of Android Advertising ID policy and section 4. 开发者分发协议(protocol)之8

    java - 尝试使用 javazoom 播放 MP3 文件并收到错误消息 "unable to load resource ' sfd.ser”