有没有办法从密码策略中获取一些信息?例如密码长度,最长密码使用期限等。
我尝试在注册表中查找,但未找到所需内容。
最佳答案
您可以使用NetUserModalsGet
。这是获取MaximumPasswordAge的示例
int GetMaximumPasswordAge()
{
int Age = -1;
DWORD dwLevel = 0;
USER_MODALS_INFO_0 *pBuf = NULL;
NET_API_STATUS nStatus;
LPTSTR pszServerName = NULL;
//
nStatus = NetUserModalsGet((LPCWSTR) pszServerName,
dwLevel,
(LPBYTE *)&pBuf);
//
// If the call succeeds, print the global information.
//
if (nStatus == NERR_Success)
{
if (pBuf != NULL)
{
Age = pBuf->usrmod0_max_passwd_age/86400;
printf("\tMinimum password length: %d\n", pBuf->usrmod0_min_passwd_len);
}
}
// Otherwise, print the system error.
//
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated memory.
//
if (pBuf != NULL)
NetApiBufferFree(pBuf);
return Age;
}