Как я могу получить список локальных имен пользователей в Windows с помощью С#?
Получить список локальных имен пользователей в Windows
Ответ 1
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"]);
}
Ответ 2
Я использую этот код для доступа к локальным пользователям 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;
}
Ответ 3
Попробуйте следующее:
http://www.andreas-kraus.net/blog/how-to-list-all-windows-users/
В основном он использует WMI для получения имен пользователей.
Ответ 4
Один из способов - перечислить каталоги в C:\Documents and Settings
(в Vista/7: C:\Users
).
Ответ 5
Ниже перечислены несколько способов получения имени вашего локального компьютера:
string name = Environment.MachineName;
string name = System.Net.Dns.GetHostName();
string name = System.Windows.Forms.SystemInformation.ComputerName;
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME");