如何查看用户是否是密码永不过期

fox513 2009-08-10 02:23:45
写函数,获取指定操作系统指定帐号安全信息——帐号口令是否永不过期?
...全文
112 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoXiaoRab 2009-08-12
你不结贴?
回复
fox513 2009-08-10
谢谢楼上的达人!
回复
MoXiaoRab 2009-08-10
具体使用方法自己去查MSDN
回复
MoXiaoRab 2009-08-10
使用如下函数NetUserGetInfo

NET_API_STATUS NetUserGetInfo(
__in LPCWSTR servername,
__in LPCWSTR username,
__in DWORD level,
__out LPBYTE* bufptr
);

在level中传入2,用bufptr接受一个USER_INFO_2 结构的指针地址


typedef struct _USER_INFO_2 {
LPWSTR usri2_name;
LPWSTR usri2_password;
DWORD usri2_password_age;
DWORD usri2_priv;
LPWSTR usri2_home_dir;
LPWSTR usri2_comment;
DWORD usri2_flags; //这个是你需要的
LPWSTR usri2_script_path;
DWORD usri2_auth_flags;
LPWSTR usri2_full_name;
LPWSTR usri2_usr_comment;
LPWSTR usri2_parms;
LPWSTR usri2_workstations;
DWORD usri2_last_logon;
DWORD usri2_last_logoff;
DWORD usri2_acct_expires;
DWORD usri2_max_storage;
DWORD usri2_units_per_week;
PBYTE usri2_logon_hours;
DWORD usri2_bad_pw_count;
DWORD usri2_num_logons;
LPWSTR usri2_logon_server;
DWORD usri2_country_code;
DWORD usri2_code_page;
} USER_INFO_2, *PUSER_INFO_2, *LPUSER_INFO_2;


usri2_flags
Specifies a DWORD value that determines several features. This member can be one or more of the following values. Note that setting user account control flags may require certain privileges and control access rights. For more information, see the Remarks section of the NetUserSetInfo function.

Value Meaning
UF_SCRIPT
The logon script executed. This value must be set.

UF_ACCOUNTDISABLE
The user's account is disabled.

UF_HOMEDIR_REQUIRED
The home directory is required. This value is ignored.

UF_PASSWD_NOTREQD
No password is required.

UF_PASSWD_CANT_CHANGE
The user cannot change the password.

UF_LOCKOUT
The account is currently locked out. You can call the NetUserSetInfo function to clear this value and unlock a previously locked account. You cannot use this value to lock a previously unlocked account.

UF_DONT_EXPIRE_PASSWD 这就是密码永不过期的标志
The password should never expire on the account.

UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED
The user's password is stored under reversible encryption in the Active Directory.

Windows NT: This value is not supported.
UF_NOT_DELEGATED
Marks the account as "sensitive"; other users cannot act as delegates of this user account.

Windows NT: This value is not supported.
UF_SMARTCARD_REQUIRED
Requires the user to log on to the user account with a smart card.

Windows NT: This value is not supported.
UF_USE_DES_KEY_ONLY
Restrict this principal to use only Data Encryption Standard (DES) encryption types for keys.

Windows NT: This value is not supported.
UF_DONT_REQUIRE_PREAUTH
This account does not require Kerberos preauthentication for logon.

Windows NT: This value is not supported.
UF_TRUSTED_FOR_DELEGATION
The account is enabled for delegation. This is a security-sensitive setting; accounts with this option enabled should be tightly controlled. This setting allows a service running under the account to assume a client's identity and authenticate as that user to other remote servers on the network.

Windows NT: This value is not supported.
UF_PASSWORD_EXPIRED
The user's password has expired.

Windows 2000/NT: This value is not supported.
UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
The account is trusted to authenticate a user outside of the Kerberos security package and delegate that user through constrained delegation. This is a security-sensitive setting; accounts with this option enabled should be tightly controlled. This setting allows a service running under the account to assert a client's identity and authenticate as that user to specifically configured services on the network.

Windows XP/2000/NT: This value is not supported.




The following values describe the account type. Only one value can be set. You cannot change the account type using the NetUserSetInfo function.

Value Meaning
UF_NORMAL_ACCOUNT
This is a default account type that represents a typical user.

UF_TEMP_DUPLICATE_ACCOUNT
This is an account for users whose primary account is in another domain. This account provides user access to this domain, but not to any domain that trusts this domain. The User Manager refers to this account type as a local user account.

UF_WORKSTATION_TRUST_ACCOUNT
This is a computer account for a computer that is a member of this domain.

UF_SERVER_TRUST_ACCOUNT
This is a computer account for a backup domain controller that is a member of this domain.

UF_INTERDOMAIN_TRUST_ACCOUNT
This is a permit to trust account for a domain that trusts other domains.

回复
jason176374 2009-08-10
域用户?
记得以前是用ADSI接口可以操作域用户的设置。
具体哪个函数就不知道了,你查查。或者有别的接口方法可以取得域用户信息。
回复
发动态
发帖子
硬件/系统
创建于2007-09-28

2590

社区成员

VC/MFC 硬件/系统
申请成为版主
社区公告
暂无公告