用C#获取Windows用户

如何使用.NET(C#)获取本地计算机的所有Windows用户的列表?

这是一篇博客文章(带代码),解释了如何做到这一点:

http://csharptuning.blogspot.com/2007/09/how-to-get-list-of-windows-user-in-c.html

作者列出了以下代码(引自上述网站):

 DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName); DirectoryEntry admGroup = localMachine.Children.Find("users","group"); object members = admGroup.Invoke("members", null); foreach (object groupMember in (IEnumerable)members) { DirectoryEntry member = new DirectoryEntry(groupMember); lstUsers.Items.Add(member.Name); } 

您需要在代码顶部using System.DirectoryServices添加。 要更改计算机,您可以将Environment.MachineName更改为您要访问的任何计算机(只要您有权这样做且防火墙不会阻止您这样做)。 我还修改了作者的代码,以查看users组而不是administrators组。

这取决于你真正’追求’…如果你在Windows域(使用活动目录),那么你可以查询Active Directory IF活动目录被用来限制被“授权”使用本地的用户机。

如果您的要求不那么严格,那么您可以检查系统UserProfiles中的文件夹,其中 Default User和All Users 之外的每个文件夹代表已登录到本地计算机的用户配置文件。 请注意,这可能包括系统和/或服务帐户……