如何在Windows中检查用户帐户是否存在(在本地计算机上)?

问题描述:

我想验证一个特定用户是否存在于本地计算机上。我能做的一个解决方案是解析命令Net user的输出。但是有没有比这更好的解决方案?如何在Windows中检查用户帐户是否存在(在本地计算机上)?

您可以使用WMI查询,例如“从Win32_UserAccount中选择*,其中LocalAccount = True”或类似的。如果您只是在寻找一个特定的帐户,您可以更多地限制WMI查询。见Win32_UserAccount。您也可能只能使用GetObject(这可能更有效),但我不知道如何制定。

您可以按照模板/代码http://snippets.dzone.com/posts/show/6967(与用户帐户无关:-)来设置/创建WMI ActiveX对象,执行查询并枚举结果。

快乐编码!

+0

谢谢pst。我试过了,正在工作。代码可以像var var wmiobj = GetObject(winmgmts:\\\\。\\ root \\ cimv2“); var query =”SELECT * FROM Win32_UserAccount Where LocalAccount = True And Name =''“; var users = wmiobj.ExecQuery(query); 如果users.count为零,则用户不存在。else用户存在 – satya 2010-10-11 13:15:00