Как получить текущее зарегистрированное имя пользователя в Windows 7 (т. Е. Пользователя, который физически вошел в консоль, на которой запущена запускаемая мной программа).
Например, если я вошел в систему как «MainUser» и запустил мое консольное приложение (которое будет отображать имя пользователя, вошедшего в систему) как «SubUser», тогда программа вернет только «SubUser» в качестве текущего пользователя. 1003 *
Я использовал следующие 2 метода, чтобы получить имя пользователя. Оба не дают мне то, что я хочу.
System.Environment.GetEnvironmentVariable("USERNAME")
System.Security.Principal.WindowsIdentity.GetCurrent().User;
Обратите внимание, что, однако, этот код VBScript возвращает имя пользователя, вошедшего в систему, независимо от учетной записи пользователя, из которой запускается этот сценарий:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set compsys_arr = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each sys in compsys_arr
Wscript.Echo "username: " & sys.UserName
Next
В любом случае это возможно в C #?