3级数据结构仅对Windows NT服务器有效,而不是LAN Manager 2.【x】服务器。
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;
会员
usri3_name
指定用户帐号的名称。对于NetUserSetInfo,此成员将被忽略。名称中的字符数不能超过UNLEN的值。
usri3_password
usri3_name成员中指定的用户的密码。长度不能超过PWLEN字节。NetUserEnum和NetUserGetInfo函数返回一个NULL指针,以维护密码的安全性。按照惯例,Windows NT将密码的长度限制为LM20_PWLEN字符。此约定允许LAN Manager,Windows 3.【x】,Windows for Workgroups 3.【x】和Windows 95客户端使用该帐户访问Windows NT服务器。
usri3_password_age
指定自上次更改usri3_password成员以来经过的秒数。NetUserAdd和NetUserSetInfo功能忽略此成员。
usri3_priv
指定usri3_name成员分配的权限级别的三个值之一。NetUserAdd和NetUserSetInfo功能忽略此成员。该成员可以是以下值之一:
值 | 含义 |
USER_PRIV_GUEST | 客人 |
USER_PRIV_USER | 用户 |
USER_PRIV_ADMIN | 管理员 |
usri3_home_dir
指向包含用户名中指定的用户的主目录路径的Unicode字符串。字符串可以为空。
usri3_comment
指向包含注释的Unicode字符串。字符串可以是一个空字符串,或者它可以在终止空字符之前有任意数量的字符。
usri3_flags
包含确定多个功能的值。该成员可以是以下任何值:
值 | 含义 |
UF_SCRIPT | 执行登录脚本。必须为LAN Manager 2.0或Windows NT设置此值。 |
UF_ACCOUNTDISABLE | 用户的帐户被禁用。 |
UF_HOMEDIR_REQUIRED | 主目录是必需的。此值在Windows NT中被忽略。 |
UF_PASSWRD_NOTREQD | 不需要密码 |
UF_PASSWRD_CANT_CHANGE | 用户无法更改密码。 |
UF_LOCKOUT | 该帐户目前被锁定。对于NetUserSetInfo,可以清除此值来解锁先前锁定的帐户。此值不能用于锁定先前未锁定的帐户。 |
UF_DONT_EXPIRE_PASSWORD | 表示不应该在帐户上过期的密码。此值仅适用于Windows NT。 |
以下值描述了帐户类型。只能设置一个值。您不能使用NetUserSetInfo功能更改帐户类型。
值 | 含义 |
UF_NORMAL_ACCOUNT | 这是代表典型用户的默认帐户类型。 |
UF_TEMP_DUPLICATE_ACCOUNT | 这是主帐户位于其他域中的用户的帐户。此帐户提供用户对此域的访问权限,但不提供给任何信任该域的域。用户管理器将此帐户类型称为【本地】用户帐户。 |
UF_WORKSTATION_TRUST_ACCOUNT | 这是作为此域的成员的Windows NT工作站或Windows NT服务器的计算机帐户。 |
UF_SERVER_TRUST_ACCOUNT | 这是作为此域的成员的Windows NT备份域控制器的计算机帐户。 |
UF_INTERDOMAIN_TRUST_ACCOUNT | 这是一个【允许信任】帐户,其中包含【信托】其他域的Windows NT域。 |
usri3_script_path
指向Unicode字符串,指定用户的登录脚本,.CMD,.EXE或.BAT文件的路径。字符串可以为空。
usri3_auth_flags
指定一个无符号长整数,其中包含指定用户操作员权限的值。
Windows NT:对于Windows NT服务器,NetUserAdd和NetUserSetInfo函数忽略此成员。
对于NetUserGetInfo或NetUserEnum,将根据本地组成员资格返回适当的值。如果用户是【打印操作】的成员,则设置AF_OP_PRINT。如果用户是【服务器操作】的成员,则设置AF_OP_SERVER。如果用户是【帐户操作】的成员,则设置AF_OP_ACCOUNTS。AF_OP_COMM是从未见过。
NetUserAdd和NetUserSetInfo功能忽略此成员。
该成员可以是以下值之一:
值 | 含义 |
AF_OP_PRINT | 打印操作员权限已启用。 |
AF_OP_COMM | 通信运营商权限已启用。 |
AF_OP_SERVER | 服务器操作员权限已启用。 |
AF_OP_ACCOUNTS | 帐户操作员权限已启用。 |
usri3_full_name
指向包含用户全名的Unicode字符串。该字符串可以是空字符串,也可以在终止空字符之前具有任意数量的字符。
usri3_usr_comment
指向包含用户注释的Unicode字符串。该字符串可以是空字符串,也可以在终止空字符之前具有任意数量的字符。
usri3_parms
指向被应用程序使用的Unicode字符串。该字符串可以是空字符串,也可以在终止空字符之前具有任意数量的字符。Microsoft产品使用此成员来存储用户配置信息。不要修改此信息。
usri3_workstations
指向包含用户可以登录的工作站名称的Unicode字符串。可以指定多达八个工作站;名称必须用逗号(,)分隔。如果不想限制工作站数量,请使用空字符串。要禁止从所有工作站登录到此帐户,请在usri * _flagsar,LATN成员中设置UF_ACCOUNTDISABLE值。
usri3_last_logon
指定上次登录的时间。该值存储为1970年1月1日00:00:00之后经过的秒数。此成员在NetUserAdd和NetUserSetInfo呼叫中被忽略。该成员在域中的每个备份域控制器(BDC)上单独维护。要获得准确的值,必须查询域中的每个BDC,并使用最大值。
usri3_last_logoff
指定何时发生上次注销。该值存储为1970年1月1日00:00:00之后经过的秒数。值为零意味着最后的注销时间是未知的。该成员在域中的每个备份域控制器(BDC)上单独维护。要获得准确的值,必须查询域中的每个BDC,并使用最大值。
usri3_acct_expires
指定帐户何时到期。该值存储为1970年1月1日00:00:00之后经过的秒数。TIMEQ_FOREVER的值表示帐户永不过期。
usri3_max_storage
指定用户可以使用的最大磁盘空间量。使用USER_MAXSTORAGE_UNLIMITED中指定的值来使用所有可用的磁盘空间。
usri3_units_per_week
指定为了计算usri3_logon_hours中位串的长度而划分周的等长时间单位数。对于LAN Manager 2.0,此值必须为UNITS_PER_WEEK。此元素在NetUserAdd和NetUserSetInfo调用中被忽略。对于Windows NT服务,这些单位必须是以下之一:SAM_DAYS_PER_WEEK,SAM_HOURS_PER_WEEK或SAM_MINUTES_PER_WEEK。
usri3_logon_hours
指向21字节(168位)位字符串,用于指定用户登录的时间。每一位代表一周中唯一的小时。第一位(位0,字0)为星期日0:00至0:59;第二位(位1,字0)为星期日1:00至1:59;等等。NetUserAdd呼叫的此成员中的空指针意味着没有时间限制。NetUserSetInfo调用的此成员中的空指针意味着不进行任何更改。
注意字0中的位0表示从0:00到0:59的星期日,只有当您在GMT时区时。在所有其他情况下,您必须根据时区偏移量调整位数(例如,GMT减去PST的8小时)。
usri3_bad_pw_count
指定用户尝试使用不正确的密码登录到帐户的次数。值0xFFFFFFFF表示该值未知。此成员在NetUserAdd和NetUserSetInfo电话中被忽略。该成员在域中的每个备份域控制器(BDC)上单独维护。要获得准确的值,必须查询域中的每个BDC,并使用最大值。
usri3_num_logons
计算用户尝试登录到此帐户的成功次数。值0xFFFFFFFF表示该值未知。此成员在NetUserAdd和NetUserSetInfo呼叫中被忽略。该成员在域中的每个备份域控制器(BDC)上单独维护。要获得准确的值,必须查询域中的每个BDC,并使用最大值。
usri3_logon_server
指向包含发送登录请求的服务器的名称的Unicode字符串。系统名称之前应有两个反斜杠(\\\\)。星号(\\\\ *)的服务器名称表示登录请求可由任何登录服务器处理。空字符串表示请求被发送到域控制器。对于Windows NT服务器,NetUserGetInfo和NetUserEnum返回\\\\ *。NetUserAdd和NetUserSetInfo功能忽略此成员。
usri3_country_code
指定用户选择的语言的国家/地区代码。
usri3_code_page
指定用户选择语言的代码页。
usri3_user_id
指定用户的相对ID(RID)。当创建用户时,RID由SAM确定。它将该用户帐户唯一地定义到域内的SAM。NetUserAdd和NetUserSetInfo函数忽略此成员。
usri3_primary_group_id
指定此用户的主全局组的相对ID(RID)。对于NetUserAdd,此成员必须是DOMAIN_GROUP_RID_USERS(在NTSEAPI.H中定义)。对于NetUserSetInfo,此成员必须是用户注册的全局组的RID。
usri3_profile
指定用户配置文件的路径。该值可以是空字符串,本地绝对路径或UNC路径。
usri3_home_dir_drive
指定分配给用户主目录的驱动器号以进行登录。
usri3_password_expired
确定用户的密码是否已过期。NetUserGetInfo??和NetUserAdd如果密码尚未过期(如果有),则返回零。对于NetUserAdd或NetUserSetInfo,请指定非零,以指示用户在下次登录时必须更改密码。对于NetUserSetInfo,请指定零以关闭消息,指示用户在下次登录时必须更改密码。请注意,您不能指定零以否定已过期的密码到期。
也可以看看