本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客)
本文主要介绍Win32_Group和Win32_UserAccount类。
如何使用WMI枚举所有的组内账户信息?
SELECT * FROM Win32_Group
这组信息对应于系统中
这组信息中可能有用的信息就是SID。即可以通过
SELECT SID FROM Win32_Group WHERE Name = '__vmware__'
查询到指定名字的组账号的SID。
如何使用WMI枚举本地用户信息?
SELECT * FROM Win32_UserAccount
如何使用WMI查询指定账号是否启用?
SELECT Disabled FROM Win32_UserAccount WHERE Name = 'Guest'
这个标识我的系统中Guest账户没有被启用。
如何使用WMI查询指定账号是否需要密码?
SELECT PasswordRequired FROM Win32_UserAccount WHERE Name = 'Administrator'
这标识我系统中Admin账号不需要密码。
如何使用WMI查询指定账号密码是否过期?
SELECT PasswordExpires FROM Win32_UserAccount WHERE Name = 'Administrator'
如何使用WMI查询指定账号的SID?
SELECT SID FROM Win32_UserAccount WHERE Name = 'Administrator'
这个SID相对比较有实际意义。比如在注册表管理器中,HKEY_CURRENT_USER键对应于HKEY_USERS下的S-1-5-21-3987237175-4224017198-876772560-500子键。
工程源码见《WMI技术介绍和应用——WMI概述》结尾。