USER_INFO_2 结构 (lmaccess.h)

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_name

类型: LPWSTR

指向 Unicode 字符串的指针,该字符串指定用户帐户的名称。 对 NetUserSetInfo 函数的调用将忽略此成员。 有关更多信息,请参见下面的“备注”部分。

usri2_password

类型: LPWSTR

指向 Unicode 字符串的指针,该字符串指定 由 usri2_name 成员标识的用户的密码。 长度不能超过 PWLEN 字节。 NetUserEnumNetUserGetInfo 函数返回 NULL 指针以维护密码安全性。

按照惯例,密码长度限制为LM20_PWLEN个字符。

usri2_password_age

类型:DWORD

自上次更改 usri2_password 成员以来经过的秒数。 NetUserAddNetUserSetInfo 函数将忽略此成员。

usri2_priv

类型:DWORD

分配给 usri2_name 成员的权限级别。 对于对 NetUserAdd 函数的调用,必须USER_PRIV_USER此成员。 对于 NetUserSetInfo 函数,此成员必须是 NetUserGetInfo 函数或 NetUserEnum 函数返回的值。 此成员可以是以下值之一。 有关用户和组帐户权限的详细信息,请参阅 权限

含义
USER_PRIV_GUEST
来宾
USER_PRIV_USER
用户
USER_PRIV_ADMIN
管理员

usri2_home_dir

类型: LPWSTR

指向 Unicode 字符串的指针,该字符串指定 由 usri2_name 成员指定的用户的主目录的路径。 字符串可以为 NULL

usri2_comment

类型: LPWSTR

指向 Unicode 字符串的指针,该字符串包含要与用户帐户关联的注释。 字符串可以是 NULL 字符串,也可以在终止 null 字符之前具有任意数量的字符。

usri2_flags

类型:DWORD

此成员可以是以下一个或多个值。

请注意,设置用户帐户控制标志可能需要某些权限和控制访问权限。 有关详细信息,请参阅 NetUserSetInfo 函数的“备注”部分。

含义
UF_SCRIPT
执行的登录脚本。 必须设置此值。
UF_ACCOUNTDISABLE
用户的帐户已禁用。
UF_HOMEDIR_REQUIRED
主目录是必需的。 忽略此值。
UF_PASSWD_NOTREQD
不需要密码。
UF_PASSWD_CANT_CHANGE
用户无法更改密码。
UF_LOCKOUT
帐户当前已锁定。可以调用 NetUserSetInfo 函数来清除此值并解锁以前锁定的帐户。 不能使用此值锁定以前解锁的帐户。
UF_DONT_EXPIRE_PASSWD
帐户的密码永远不会过期。
UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED
用户的密码存储在 Active Directory 中的可逆加密下。
UF_NOT_DELEGATED
将帐户标记为“敏感”;其他用户不能充当此用户帐户的代理人。
UF_SMARTCARD_REQUIRED
要求用户使用智能卡登录到用户帐户。
UF_USE_DES_KEY_ONLY
将此主体限制为仅使用数据加密标准 (DES) 密钥的加密类型。
UF_DONT_REQUIRE_PREAUTH
此帐户不需要 Kerberos 预身份验证即可登录。
UF_TRUSTED_FOR_DELEGATION
帐户已启用委派。 这是一个安全敏感设置;应严格控制启用了此选项的帐户。 此设置允许在帐户下运行的服务假定客户端的标识,并作为该用户向网络上的其他远程服务器进行身份验证。
UF_PASSWORD_EXPIRED
用户的密码已过期。

Windows 2000: 不支持此值。

UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
信任该帐户对 Kerberos 安全包外部的用户进行身份验证,并通过受约束的委派委托该用户。 这是一个安全敏感设置;应严格控制启用了此选项的帐户。 此设置允许在帐户下运行的服务断言客户端的标识,并作为该用户进行身份验证,以在网络上专门配置服务。

Windows XP/2000: 不支持此值。

 

以下值描述了帐户类型。 只能设置一个值。 不能使用 NetUserSetInfo 函数更改帐户类型。

含义
UF_NORMAL_ACCOUNT
这是表示典型用户的默认帐户类型。
UF_TEMP_DUPLICATE_ACCOUNT
这是主帐户位于另一个域中的用户的帐户。 此帐户向用户提供对此域的访问权限,但不允许用户访问任何信任此域的域。 用户管理器将此帐户类型称为本地用户帐户。
UF_WORKSTATION_TRUST_ACCOUNT
这是属于此域的计算机的计算机帐户。
UF_SERVER_TRUST_ACCOUNT
这是属于此域的备份域控制器的计算机帐户。
UF_INTERDOMAIN_TRUST_ACCOUNT
这是信任其他域的域的帐户的许可。

usri2_script_path

类型: LPWSTR

指向 Unicode 字符串的指针,该字符串指定用户的登录脚本文件的路径。 脚本文件可以是 。CMD 文件、.EXE 文件或 .BAT 文件。 字符串也可以为 NULL

usri2_auth_flags

类型:DWORD

用户的操作员特权。

调用 NetUserGetInfoNetUserEnum 函数会基于用户的本地组成员身份返回值。 如果用户是打印操作员的成员,则设置AF_OP_PRINT。 如果用户是服务器操作员的成员,则设置AF_OP_SERVER。 如果用户是帐户操作员的成员,则设置AF_OP_ACCOUNTS。 从不设置AF_OP_COMM。 有关用户和组帐户权限的详细信息,请参阅 特权

存在以下限制:

此成员可以是以下一个或多个值。
含义
AF_OP_PRINT
打印操作员特权已启用。
AF_OP_COMM
通信操作员特权已启用。
AF_OP_SERVER
已启用服务器操作员特权。
AF_OP_ACCOUNTS
帐户操作员特权已启用。

usri2_full_name

类型: LPWSTR

指向包含用户全名的 Unicode 字符串的指针。 此字符串可以是 NULL 字符串,也可以在终止 null 字符之前具有任意数量的字符。

usri2_usr_comment

类型: LPWSTR

指向包含用户注释的 Unicode 字符串的指针。 此字符串可以是 NULL 字符串,也可以在终止 null 字符之前具有任意数量的字符。

usri2_parms

类型: LPWSTR

指向保留供应用程序使用的 Unicode 字符串的指针。 此字符串可以是 NULL 字符串,也可以在终止 null 字符之前具有任意数量的字符。 Microsoft 产品使用此成员来存储用户配置信息。 请勿修改此信息。

usri2_workstations

类型: LPWSTR

重要

不应再使用 usri2_workstations。 相反,可以通过配置用户权限分配设置 (“允许本地登录 ”和 “拒绝本地登录”或 “允许通过远程桌面服务登录 ”和 “拒绝通过远程桌面服务登录 ”) 来控制对工作站的登录访问。

指向 Unicode 字符串的指针,该字符串包含用户可以从中登录的工作站的名称。 可以指定多达 8 个工作站;名称必须用逗号分隔。 NULL 字符串指示没有限制。 若要禁用从所有工作站到此帐户的登录,请在 usri2_flags 成员中设置 UF_ACCOUNTDISABLE 值。

usri2_last_logon

类型:DWORD

上次登录的日期和时间。 此值存储为自格林尼治标准时间 1970 年 1 月 1 日 00:00:00 以来经过的秒数。 NetUserAddNetUserSetInfo 函数会忽略此成员。

此成员在域中的 BDC) 的每个备份域控制器 (单独维护。 若要获取准确的值,必须查询域中的每个 BDC。 上次登录发生在最大检索值指示的时间。

usri2_last_logoff

类型:DWORD

当前未使用此成员。

指示上次注销的时间。 此值存储为自格林尼治标准时间 1970 年 1 月 1 日 00:00:00 以来经过的秒数。 值为零表示上次注销时间未知。

此成员在域中的 BDC) 的每个备份域控制器 (单独维护。 若要获取准确的值,必须查询域中的每个 BDC。 上次注销发生在最大检索值指示的时间。

usri2_acct_expires

类型:DWORD

帐户过期的日期和时间。 此值存储为自格林尼治标准时间 1970 年 1 月 1 日 00:00:00 以来经过的秒数。 值为 TIMEQ_FOREVER 表示帐户永不过期。

usri2_max_storage

类型:DWORD

用户可以使用的最大磁盘空间量。 指定USER_MAXSTORAGE_UNLIMITED以使用所有可用磁盘空间。

usri2_units_per_week

类型:DWORD

将周划分为的等长时间单位的数目。 此值是计算 usri2_logon_hours 成员中位字符串的长度所必需的。

必须为 LAN Manager 2.0 UNITS_PER_WEEK此值。 NetUserAddNetUserSetInfo 函数会忽略此元素。

对于服务应用程序,单位必须为以下值之一:SAM_DAYS_PER_WEEK、SAM_HOURS_PER_WEEK或SAM_MINUTES_PER_WEEK。

usri2_logon_hours

类型: PBYTE

指向 21 字节 (168 位) 位字符串的指针,该字符串指定用户可以登录的时间。 每个位表示一周中唯一的一小时,格林威治标准时间 (GMT) 。

第一个位 (位 0,字 0) 是星期日,0:00 到 0:59;第二位 (位 1,字 0) 为星期日,1:00 到 1:59;等等。 请注意,Word 0 中的位 0 仅当处于 GMT 时区时表示星期日从 0:00 到 0:59。 在所有其他情况下,必须根据时区偏移量调整位 (例如,太平洋标准时间) GMT 减去 8 小时。

调用 NetUserAdd 函数时,在此成员中指定 NULL 指针,以指示无时间限制。 在调用 NetUserSetInfo 函数时指定 NULL 指针,以指示不对用户可以登录的时间进行更改。

usri2_bad_pw_count

类型:DWORD

用户尝试使用错误密码登录帐户的次数。 值为 – 1 表示该值未知。 对 NetUserAddNetUserSetInfo 函数的调用将忽略此成员。

此成员从主域控制器复制, (PDC) ;它还保留在域中 (BDC) 的每个备份域控制器上。 若要获取准确的值,必须查询域中的每个 BDC。 用户尝试使用错误密码登录的次数是检索到的最大值。

usri2_num_logons

类型:DWORD

用户成功登录到此帐户的次数。 值为 – 1 表示该值未知。 对 NetUserAddNetUserSetInfo 函数的调用将忽略此成员。

此成员在域中的 BDC) 的每个备份域控制器 (单独维护。 若要获取准确的值,必须查询域中的每个 BDC。 用户成功登录的次数是检索到的值的总和。

usri2_logon_server

类型: LPWSTR

指向 Unicode 字符串的指针,该字符串包含向其发送登录请求的服务器的名称。 服务器名称前面应有两个反斜杠 (\) 。 若要指示登录请求可由任何登录服务器处理,请为服务器名称指定星号 (\*) 。 NULL 字符串指示应将请求发送到域控制器。

对于 Windows 服务器, NetUserGetInfoNetUserEnum 返回 \*。 NetUserAddNetUserSetInfo 函数将忽略此成员。

usri2_country_code

类型:DWORD

用户所选语言的国家/地区代码。

usri2_code_page

类型:DWORD

用户所选语言的代码页。

注解

有关用户和组帐户权限的详细信息,请参阅 权限

用户帐户名称限制为 20 个字符,组名限制为 256 个字符。 此外,帐户名称不能以句点结尾,并且不能包含逗号或以下任何可打印字符:“,/,,,[,],:,|, <,,, >+,=,;,?,*。 名称也不能包含范围 1-31 中的字符,这些字符不可打印。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 lmaccess.h (包括 Lm.h)

另请参阅

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

网络管理概述

网络管理结构

用户函数