Logged on User на C#
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел показать, как узнать учетную запись пользователя, который вошёл в систему на C#. Для получения учетной записи локальной машины можно использовать класс Environment (предоставляет сведения о текущей среде) или класс WindowsIdentity (предоставляет пользователя Windows).
С локальной машиной всё просто. Для получения пользователя удаленной машины одним из вариантов будет обращения к классу WMI: Win32_ComputerSystem. У данного класса есть свойство UserName, которое нам и необходимо получить.
Код обоих методов приведен ниже:
using System;
// не забываем добавить ссылку
using System.Management;
using System.Security.Principal;
namespace GetLoggedOnUser
{
class Program
{
static void Main(string[] args)
{
GetLocalLoggedOnUser();
Console.WriteLine("**********************");
GetRemoteLoggedONUser("TestPC");
Console.ReadLine();
}
// Получаем учетную запись пользователя на локальной машине
static void GetLocalLoggedOnUser()
{
// Имя пользователя, который выполнил вход в систему Windows
Console.WriteLine("Имя пользователя: " + Environment.UserName);
Console.WriteLine(@"Домен \ имя пользователя: " + WindowsIdentity.GetCurrent().Name);
}
// Получаем учетную запись пользователя на удаленной машине
static void GetRemoteLoggedONUser(string computerName)
{
try
{
// Осуществляем подключение к пространству имен root\cimv2 удаленной машины
ManagementScope scope = new ManagementScope(@"\\" + computerName + @"\root\cimv2");
scope.Connect();
// Если подключиться удалось
if (scope.IsConnected)
{
// Обращаемся к классу Win32_ComputerSystem
ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"\\" + computerName + @"\root\cimv2", "SELECT * FROM Win32_ComputerSystem");
// Пройдя по всем свойствам данного класса находим свойство UserName
foreach (ManagementObject obj in searcher.Get())
{
Console.WriteLine("Пользователь: {0}", obj["UserName"]);
}
}
}
catch (Exception ex)
{
Console.WriteLine("Во время работы метода произошла ошибка: {0}", ex.Message);
}
}
}
}
В данной статье вы узнали, как получить пользователя, который вошёл в систему Windows на C#.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.





Не забрасывайте писать статьи , очень интересно
Постараюсь в скором времени опять начать писать
Можете еще добавить ненавязчивую рекламу , чтоб чутька заработать .
Алексей, спасибо за ваши статьи
Можно с вами связаться?
Нужна помощь профессионала
Если ещё актуально, то можете вконтакт мне написать https://vk.com/alekseygulynin