写函数,获取指定操作系统指定帐号安全信息——帐号口令是否永不过期?

解决方案 »

  1.   

    域用户?
    记得以前是用ADSI接口可以操作域用户的设置。
    具体哪个函数就不知道了,你查查。或者有别的接口方法可以取得域用户信息。
      

  2.   

    使用如下函数NetUserGetInfoNET_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 Res 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.