パスワード ポリシーから情報を取得する方法はありますか? パスワードの長さ、パスワードの最大有効期間など。
レジストリを調べてみましたが、探しているものが見つかりませんでした。
使用できます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;
}