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