USER_INFO_3  1MMS4.I 

The level 3 data structure is valid only to Windows NT servers and not LAN Manager 2.x servers.

typedef struct _USER_INFO_3 { 
    LPWSTR    usri3_name;
    LPWSTR    usri3_password;
    DWORD     usri3_password_age;
    DWORD     usri3_priv;
    LPWSTR    usri3_home_dir;
    LPWSTR    usri3_comment;
    DWORD     usri3_flags;
    LPWSTR    usri3_script_path;
    DWORD     usri3_auth_flags;
    LPWSTR    usri3_full_name;
    LPWSTR    usri3_usr_comment;
    LPWSTR    usri3_parms;
    LPWSTR    usri3_workstations;
    DWORD     usri3_last_logon;
    DWORD     usri3_last_logoff;
    DWORD     usri3_acct_expires;
    DWORD     usri3_max_storage;
    DWORD     usri3_units_per_week;
    PBYTE     usri3_logon_hours;
    DWORD     usri3_bad_pw_count;
    DWORD     usri3_num_logons;
    LPWSTR    usri3_logon_server;
    DWORD     usri3_country_code;
    DWORD     usri3_code_page;
    DWORD     usri3_user_id;
    DWORD     usri3_primary_group_id;
    LPWSTR    usri3_profile;
    LPWSTR    usri3_home_dir_drive;
    DWORD     usri3_password_expired;
}USER_INFO_3, *PUSER_INFO_3, *LPUSER_INFO_3;

 

Members

usri3_name

Specifies the name of the user account. For NetUserSetInfo, this member is ignored. The number of characters in the name cannot exceed the value of UNLEN.

usri3_password

The password for the user specified in the usri3_name member. The length cannot exceed PWLEN bytes. The NetUserEnumLD4PB. and NetUserGetInfoFPY53H functions return a NULL pointer to maintain password security. By convention, Windows NT limits the length of passwords to LM20_PWLEN characters. This convention allows LAN Manager, Windows 3.x, Windows for Workgroups 3.x, and Windows 95 clients to access a Windows NT server using the account.

usri3_password_age

Specifies the number of seconds elapsed since the usri3_password member was last changed. The NetUserAddI5025I and NetUserSetInfo.UX_.U functions ignore this member.

usri3_priv

One of three values to specify the level of privilege assigned the usri3_name member. The NetUserAddI5025I and NetUserSetInfo.UX_.U functions ignore this member. This member can be one of the following values:

Value

Meaning

USER_PRIV_GUEST

Guest

USER_PRIV_USER

User

USER_PRIV_ADMIN

Administrator

 

usri3_home_dir

Points to a Unicode string containing the path of the home directory of the user specified in user_name. The string can be null.

usri3_comment

Points to a Unicode string that contains a comment. The string can be a null string, or it can have any number of characters before the terminating null character.

usri3_flags

Contains values that determine several features. This member can be any of the following values:

Value

Meaning

UF_SCRIPT

The logon script executed. This value must be set for LAN Manager 2.0 or Windows NT.

UF_ACCOUNTDISABLE

The user's account is disabled.

UF_HOMEDIR_REQUIRED

The home directory is required. This value is ignored in Windows NT.

UF_PASSWRD_NOTREQD

No password is required.

UF_PASSWRD_CANT_CHANGE

The user cannot change the password.

UF_LOCKOUT

The account is currently locked out. For NetUserSetInfo.UX_.U, this value can be cleared to unlock a previously locked account. This value cannot be used to lock a previously unlocked account.

UF_DONT_EXPIRE_PASSWORD

Represents the password, which should never expire on the account. This value is valid only for Windows NT.

 

The following values describe the account type. Only one value can be set. You cannot change the account type using the NetUserSetInfo.UX_.U 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 Windows NT Workstation or Windows NT Server that is a member of this domain.

UF_SERVER_TRUST_ACCOUNT

This is a computer account for a Windows NT Backup Domain Controller that is a member of this domain.

UF_INTERDOMAIN_TRUST_ACCOUNT

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

 

usri3_script_path

Points to a Unicode string specifying the path of the user's logon script, .CMD, .EXE, or .BAT file. The string can be null.

usri3_auth_flags

Specifies an unsigned long integer that contains values that specify the user's operator privileges.

Windows NT: For Windows NT servers, NetUserAdd and NetUserSetInfo functions ignore this member.

For NetUserGetInfo or NetUserEnum, the appropriate value is returned based on the local group membership. If the user is a member of Print Operations, AF_OP_PRINT is set. If the user is a member of Server Operations, AF_OP_SERVER is set. If the user is a member of the Account Operations, AF_OP_ACCOUNTS is set. AF_OP_COMM is never set.

The NetUserAddI5025I and NetUserSetInfo.UX_.U functions ignore this member.

This member can be one of the following values:

Value

Meaning

AF_OP_PRINT

The print operator privilege is enabled.

AF_OP_COMM

The communications operator privilege is enabled.

AF_OP_SERVER

The server operator privilege is enabled.

AF_OP_ACCOUNTS

The accounts operator privilege is enabled.

 

usri3_full_name

Points to a Unicode string that contains the full name of the user. This string can be a null string, or it can have any number of characters before the terminating null character.

usri3_usr_comment

Points to a Unicode string that contains a user comment. This string can be a null string, or it can have any number of characters before the terminating null character.

usri3_parms

Points to a Unicode string that is set aside for use by applications. This string can be a null string, or it can have any number of characters before the terminating null character. Microsoft products use this member to store user configuration information. Do not modify this information.

usri3_workstations

Points to a Unicode string that contains the names of workstations from which the user can log on. As many as eight workstations can be specified; the names must be separated by commas (,). If you do not want to restrict the number of workstations, use a null string. To disable logons from all workstations to this account, set the UF_ACCOUNTDISABLE value in the usri*_flags member.

usri3_last_logon

Specifies when the last logon occurred. This value is stored as the number of seconds elapsed since 00:00:00, January 1, 1970. This member is ignored in NetUserAddI5025I and NetUserSetInfo.UX_.U calls. This member is maintained separately on each Backup Domain Controller (BDC) in the domain. To get an accurate value, each BDC in the domain must be queried, and the largest value is used.

usri3_last_logoff

Specifies when the last logoff occurred. This value is stored as the number of seconds elapsed since 00:00:00, January 1, 1970. A value of zero means that the last logoff time is unknown. This member is maintained separately on each Backup Domain Controller (BDC) in the domain. To get an accurate value, each BDC in the domain must be queried, and the largest value is used.

usri3_acct_expires

Specifies when the account will expire. This value is stored as the number of seconds elapsed since 00:00:00, January 1, 1970. A value of TIMEQ_FOREVER indicates that the account never expires.

usri3_max_storage

Specifies the maximum amount of disk space the user can use. Use the value specified in USER_MAXSTORAGE_UNLIMITED to use all available disk space.

usri3_units_per_week

Specifies the number of equal-length time units into which the week is divided in order to compute the length of the bit string in usri3_logon_hours. This value must be UNITS_PER_WEEK for LAN Manager 2.0. This element is ignored in NetUserAddI5025I and NetUserSetInfo.UX_.U calls. For Windows NT services, the units must be one of the following: SAM_DAYS_PER_WEEK, SAM_HOURS_PER_WEEK, or SAM_MINUTES_PER_WEEK.

usri3_logon_hours

Points to a 21-byte (168 bits) bit string that specifies the times during which the user can log on. Each bit represents a unique hour in the week. The first bit (bit 0, word 0) is Sunday, 0:00 to 0:59; the second bit (bit 1, word 0) is Sunday, 1:00 to 1:59; and so on. A null pointer in this member for NetUserAdd calls means there is no time restriction. A null pointer in this member for NetUserSetInfo calls means that no change is to be made.

 

Note  Bit 0 in word 0 represents Sunday from 0:00 to 0:59 only if you are in the GMT time zone. In all other cases you must adjust the bits according to your time zone offset (for example, GMT minus 8 hours for PST).

 

usri3_bad_pw_count

Specifies the number of times the user tried to log on to the account using an incorrect password. A value of 0xFFFFFFFF indicates that the value is unknown. This member is ignored in NetUserAddI5025I and NetUserSetInfo.UX_.U calls. This member is maintained separately on each Backup Domain Controller (BDC) in the domain. To get an accurate value, each BDC in the domain must be queried, and the largest value is used.

usri3_num_logons

Counts the number of successful times the user tried to log on to this account. A value of 0xFFFFFFFF indicates that the value is unknown. This member is ignored in NetUserAdd and NetUserSetInfo calls. This member is maintained separately on each Backup Domain Controller (BDC) in the domain. To get an accurate value, each BDC in the domain must be queried, and the largest value is used.

usri3_logon_server

Points to a Unicode string that contains the name of the server to which logon requests are sent. Servernames should be preceded by two backslashes (\\). A servername of an asterisk (\\*) indicates that the logon request can be handled by any logon server. A null string indicates that requests are sent to the domain controller. For Windows NT Servers, NetUserGetInfoFPY53H and NetUserEnumLD4PB. return \\*. The NetUserAddI5025I and NetUserSetInfo.UX_.U functions ignore this member.

usri3_country_code

Specifies the country code for the user's language of choice.

usri3_code_page

Specifies the code page for the user's language of choice.

usri3_user_id

Specifies the relative ID (RID) of the user. The RID is determined by the SAM when the user is created. It uniquely defines this user account to SAM within the domain. The NetUserAddI5025I and NetUserSetInfo.UX_.U functions ignore this member.

usri3_primary_group_id

Specifies the relative ID (RID) of the Primary Global Group for this user. For NetUserAdd, this member must be DOMAIN_GROUP_RID_USERS (defined in NTSEAPI.H). For NetUserSetInfo, this member must be the RID of a global group in which the user is enrolled.

usri3_profile

Specifies a path to the user s profile. This value can be a null string, a local absolute path, or a UNC path.

usri3_home_dir_drive

Specifies the drive letter assigned to the user s home directory for logon purposes.

usri3_password_expired

Determines whether the password of the user has expired. NetUserGetInfo and NetUserAdd return zero if the password has not expired (and nonzero if it has). For NetUserAdd or NetUserSetInfo, specify nonzero to indicate that the user must change password at next logon. For NetUserSetInfo, specify zero to turn off the message indicating that the user must change password at next logon . Note that you cannot specify zero to negate the expiration of a password that has already expired.

 

See Also

NetUserAdd, NetUserEnum, NetUserSetInfo