首页 > 解决方案 > usri2_comment 和 usri2_usr_comment 有什么区别?

问题描述

在 WindowsUSER_INFO_2结构中有两个字段:usri2_commentusri2_usr_comment。(类似地,USER_INFO_3has usri3_commentandusri3_usr_commentUSER_INFO_4has usri4_commentand usri4_usr_comment。)文档解释说usri2_comment“包含与用户帐户相关联的注释”,而usri2_usr_comment“包含用户注释的 Unicode 字符串”。但它从来没有弄清楚两者之间有什么区别——为什么这里有两个评论字段?每个应该用于什么?

NET USER命令同时显示在其输出中——它调用usri2_comment“评论”,而usri2_usr_comment它调用“用户评论”。前者可以使用/COMMENT选项更改,而后者可以使用/USERCOMMENT选项更改。但这对于它们之间的实际区别仍然是无意义的。

标签: winapi

解决方案


区别在于:

  • usri2_comment是管理员设置的评论。非管理员用户即使在他们自己的帐户上也无法修改它。
  • usri2_usr_comment是用户自己设置的评论。非管理员只能在自己的帐户上修改它。

usri2_usr_comment用户可以通过使用信息级别 1012调用自己来设置自己的NetUserSetInfo内容(创建USER_INFO_1012结构并将usri1012_usr_comment字段设置为新用户评论)。

但是请注意,在我自己的测试中NET USER username /USERCOMMENT:comment,当由非管理员用户自己运行时,会因访问被拒绝错误而失败。我相信这样做的原因是该命令使用信息级别 2(或 3 或 4)而不是 1012NET USER进行调用。NetUserSetInfo


推荐阅读