USER_INFO_22 结构 (lmaccess.h)
USER_INFO_22结构包含有关用户帐户的信息,包括帐户名称、权限级别、用户主目录的路径、单向加密 LAN 管理器 2。x 兼容密码和其他与用户相关的网络统计信息。
语法
typedef struct _USER_INFO_22 {
LPWSTR usri22_name;
BYTE usri22_password[ENCRYPTED_PWLEN];
DWORD usri22_password_age;
DWORD usri22_priv;
LPWSTR usri22_home_dir;
LPWSTR usri22_comment;
DWORD usri22_flags;
LPWSTR usri22_script_path;
DWORD usri22_auth_flags;
LPWSTR usri22_full_name;
LPWSTR usri22_usr_comment;
LPWSTR usri22_parms;
LPWSTR usri22_workstations;
DWORD usri22_last_logon;
DWORD usri22_last_logoff;
DWORD usri22_acct_expires;
DWORD usri22_max_storage;
DWORD usri22_units_per_week;
PBYTE usri22_logon_hours;
DWORD usri22_bad_pw_count;
DWORD usri22_num_logons;
LPWSTR usri22_logon_server;
DWORD usri22_country_code;
DWORD usri22_code_page;
} USER_INFO_22, *PUSER_INFO_22, *LPUSER_INFO_22;
成员
usri22_name
类型: LPWSTR
指向 Unicode 字符串的指针,该字符串指定用户帐户的名称。 对 NetUserSetInfo 函数的调用将忽略此成员。 有关更多信息,请参见下面的“备注”部分。
usri22_password[ENCRYPTED_PWLEN]
类型: BYTE[ENCRYPTED_PWLEN]
单向加密 LAN 管理器 2。x 兼容密码。
usri22_password_age
类型:DWORD
自上次更改 usri22_password 成员以来经过的秒数。 NetUserAdd 和 NetUserSetInfo 函数忽略此成员。
usri22_priv
类型:DWORD
分配给 usri22_name 成员的权限级别。 对 NetUserAdd 函数的 调用必须指定USER_PRIV_USER。 调用 NetUserSetInfo 函数时,此成员必须是从 NetUserGetInfo 或 NetUserEnum 函数返回的值。 此成员可以是以下值之一。 有关用户和组帐户权限的详细信息,请参阅 特权。
值 | 含义 |
---|---|
|
来宾 |
|
用户 |
|
管理员 |
usri22_home_dir
类型: LPWSTR
指向 Unicode 字符串的指针,该字符串指定 由 usri22_name 成员指定的用户的主目录的路径。 字符串可以为 null。
usri22_comment
类型: LPWSTR
指向 Unicode 字符串的指针,该字符串包含与用户帐户关联的注释。 此字符串可以是 null 字符串,也可以在终止 null 字符之前具有任意数量的字符。
usri22_flags
类型:DWORD
此成员可以是以下一个或多个值。
请注意,设置用户帐户控制标志可能需要某些权限和控制访问权限。 有关详细信息,请参阅 NetUserSetInfo 函数的“备注”部分。
值 | 含义 |
---|---|
|
执行的登录脚本。 必须设置此值。 |
|
用户的帐户已禁用。 |
|
主目录是必需的。 忽略此值。 |
|
不需要密码。 |
|
用户无法更改密码。 |
|
帐户当前已锁定。可以调用 NetUserSetInfo 函数来清除此值并解锁以前锁定的帐户。 不能使用此值锁定以前解锁的帐户。 |
|
密码在帐户上永不过期。 |
|
用户的密码存储在 Active Directory 中的可逆加密下。 |
|
将帐户标记为“敏感”;其他用户不能充当此用户帐户的代理。 |
|
要求用户使用智能卡登录到用户帐户。 |
|
将此主体限制为仅对密钥使用数据加密标准 (DES) 加密类型。 |
|
此帐户不需要 Kerberos 预身份验证即可登录。 |
|
帐户已启用委派。 这是一个安全敏感设置;应严格控制启用了此选项的帐户。 此设置允许在帐户下运行的服务采用客户端标识,并作为该用户向网络上的其他远程服务器进行身份验证。 |
|
用户的密码已过期。
Windows 2000: 不支持此值。 |
|
该帐户受信任,可用于对 Kerberos 安全包之外的用户进行身份验证,并通过约束委派委托该用户。 这是一个安全敏感设置;应严格控制启用了此选项的帐户。 此设置允许在帐户下运行的服务断言客户端的标识,并作为该用户向网络上专门配置的服务进行身份验证。
Windows XP/2000: 不支持此值。 |
以下值描述帐户类型。 只能设置一个值。 不能使用 NetUserSetInfo 函数更改帐户类型。
usri22_script_path
类型: LPWSTR
指向 Unicode 字符串的指针,该字符串指定用户的登录脚本文件的路径。 脚本文件可以是 。CMD 文件、.EXE 文件或 .BAT 文件。 字符串也可以为 null。
usri22_auth_flags
类型:DWORD
用户的操作员特权。
调用 NetUserGetInfo 函数和 NetUserEnum 函数会基于用户的本地组成员身份返回一个值。 如果用户是打印操作员的成员,则设置AF_OP_PRINT。 如果用户是服务器操作员的成员,则AF_OP_SERVER设置。 如果用户是帐户操作员的成员,则设置AF_OP_ACCOUNTS。 从不设置AF_OP_COMM。
存在以下限制:
- 调用 NetUserAdd 函数时,此成员必须为零。
- 调用 NetUserSetInfo 函数时,此成员必须是调用 NetUserGetInfo 或 NetUserEnum 返回的值。
值 | 含义 |
---|---|
|
打印操作员特权已启用。 |
|
通信操作员特权已启用。 |
|
已启用服务器操作员特权。 |
|
帐户操作员特权已启用。 |
usri22_full_name
类型: LPWSTR
指向包含用户全名的 Unicode 字符串的指针。 此字符串可以是 null 字符串,也可以在终止 null 字符之前具有任意数量的字符。
usri22_usr_comment
类型: LPWSTR
指向包含用户注释的 Unicode 字符串的指针。 此字符串可以是 null 字符串,也可以在终止 null 字符之前具有任意数量的字符。
usri22_parms
类型: LPWSTR
指向保留供应用程序使用的 Unicode 字符串的指针。 此字符串可以是 null 字符串,也可以在终止 null 字符之前具有任意数量的字符。 Microsoft 产品使用此成员来存储用户配置信息。 请勿修改此信息。
usri22_workstations
类型: LPWSTR
重要
不应再使用 usri22_workstations。 相反,可以通过配置用户权限分配设置 (“允许本地登录 ”和 “拒绝本地登录”或 “允许通过远程桌面服务登录 ”和 “拒绝通过远程桌面服务登录 ”) 来控制对工作站的登录访问。
指向 Unicode 字符串的指针,该字符串包含用户可以从中登录的工作站的名称。 可以指定多达 8 个工作站;名称必须用逗号分隔。 null 字符串指示没有限制。 若要禁用从所有工作站到此帐户的登录,请在 usri22_flags 成员中设置 UF_ACCOUNTDISABLE 值。
usri22_last_logon
类型:DWORD
上次登录的日期和时间。 此值存储为自格林尼治标准时间 1970 年 1 月 1 日 00:00:00 以来经过的秒数。 调用 NetUserAdd 和 NetUserSetInfo 函数会忽略此成员。
此成员在域中的 BDC) 的每个备份域控制器 (单独维护。 若要获取准确的值,必须查询域中的每个 BDC。 上次登录发生在最大检索值指示的时间。
usri22_last_logoff
类型:DWORD
当前未使用此成员。
上次注销的日期和时间。 此值存储为自格林尼治标准时间 1970 年 1 月 1 日 00:00:00 以来经过的秒数。 值为零表示上次注销时间未知。 调用 NetUserAdd 和 NetUserSetInfo 会忽略此元素。
此成员在域中的 BDC) 的每个备份域控制器 (单独维护。 若要获取准确的值,必须查询域中的每个 BDC。 上次注销发生在最大检索值指示的时间。
usri22_acct_expires
类型:DWORD
帐户过期的日期和时间。 此值存储为自格林尼治标准时间 1970 年 1 月 1 日 00:00:00 以来经过的秒数。 值为 TIMEQ_FOREVER 表示帐户永不过期。
usri22_max_storage
类型:DWORD
用户可以使用的最大磁盘空间量。 指定USER_MAXSTORAGE_UNLIMITED以使用所有可用磁盘空间。
usri22_units_per_week
类型:DWORD
将周划分为的等长时间单位的数目。 此值是计算 usri22_logon_hours 成员中位字符串的长度所必需的。
必须为 LAN Manager 2.0 UNITS_PER_WEEK此值。 对 NetUserAdd 和 NetUserSetInfo 函数的调用将忽略此成员。
对于服务应用程序,单位必须为下列值之一:SAM_DAYS_PER_WEEK、SAM_HOURS_PER_WEEK或SAM_MINUTES_PER_WEEK。
usri22_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 指针,以指示不对用户可以登录的时间进行更改。
usri22_bad_pw_count
类型:DWORD
用户尝试使用错误密码登录此帐户的次数。 值为 – 1 表示该值未知。 对 NetUserAdd 和 NetUserSetInfo 函数的调用将忽略此成员。
此成员从主域控制器复制, (PDC) ;它还保留在域中 (BDC) 的每个备份域控制器上。 若要获取准确的值,必须查询域中的每个 BDC。 用户尝试使用错误密码登录的次数是检索到的最大值。
usri22_num_logons
类型:DWORD
用户成功登录到此帐户的次数。 值为 – 1 表示该值未知。 对 NetUserAdd 和 NetUserSetInfo 函数的调用将忽略此成员。
此成员在域中的 BDC) 的每个备份域控制器 (单独维护。 若要获取准确的值,必须查询域中的每个 BDC。 用户成功登录的次数是检索到的值的总和。
usri22_logon_server
类型: LPWSTR
指向 Unicode 字符串的指针,该字符串包含向其发送登录请求的服务器的名称。 服务器名称前面应有两个反斜杠 (\) 。 若要指示登录请求可由任何登录服务器处理,请为服务器名称指定星号 (\*) 。 null 字符串指示应将请求发送到域控制器。
对于 Windows 服务器, NetUserGetInfo 和 NetUserEnum 函数返回 \*。 对 NetUserAdd 和 NetUserSetInfo 函数的调用将忽略此成员。
usri22_country_code
类型:DWORD
用户所选语言的国家/地区代码。
忽略此值。
usri22_code_page
类型:DWORD
用户所选语言的代码页。
忽略此值。
注解
用户帐户名称限制为 20 个字符,组名称限制为 256 个字符。 此外,帐户名称不能以句点结尾,并且不能包含逗号或以下任何可打印字符:“、、/、、[、]、:、|、 <、、 >、+、=、;、?、*。 名称也不能包含 1-31 范围内的字符,这些字符不可打印。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | lmaccess.h (包括 Lm.h) |