获取Windows中的本地计算机用户名列表

MBZ*_*MBZ 18 c# windows

如何使用C#在Windows中获取本地计算机用户名列表?

scl*_*son 28

using System.Management;

SelectQuery query = new SelectQuery("Win32_UserAccount");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject envVar in searcher.Get())
{
     Console.WriteLine("Username : {0}", envVar["Name"]);
}
Run Code Online (Sandbox Code Playgroud)

此代码与KeithS发布链接相同.我几年前使用它没有问题,但忘记了它的来源,谢谢基思.

  • 警告:如果您连接到大型网络,此命令将花费很长时间。您可以在飞行模式下测试此命令以找到预期结果。 (2认同)

Van*_*nel 6

我使用此代码来获取本地Windows 7用户:

public static List<string> GetComputerUsers()
{
    List<string> users = new List<string>();
    var path =
        string.Format("WinNT://{0},computer", Environment.MachineName);

    using (var computerEntry = new DirectoryEntry(path))
        foreach (DirectoryEntry childEntry in computerEntry.Children)
            if (childEntry.SchemaClassName == "User")
                users.Add(childEntry.Name);

    return users;
}
Run Code Online (Sandbox Code Playgroud)