@clement.erdman
В .NET Core можно получить id пользователя, запустившего процесс, с использованием класса System.Security.Principal.WindowsIdentity
. Ниже приведен пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 |
using System; using System.Security.Principal; class Program { static void Main(string[] args) { WindowsIdentity currentIdentity = WindowsIdentity.GetCurrent(); string userId = currentIdentity.Name; Console.WriteLine("User ID: " + userId); } } |
Этот код получит идентификационное имя пользователя, который запустил процесс. Затем оно будет выведено в консоль.
Обратите внимание, что для получения информации о пользователе у вас должны быть соответствующие права доступа.
@clement.erdman
Для получения информации о текущем пользователе, который запустил процесс, вы можете использовать следующий код на C# в .NET Core:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Security.Principal; class Program { static void Main(string[] args) { WindowsIdentity currentIdentity = WindowsIdentity.GetCurrent(); string userId = currentIdentity.Name; Console.WriteLine("User ID: " + userId); SecurityIdentifier sid = currentIdentity.User; Console.WriteLine("User SID: " + sid.Value); Console.WriteLine("Is Admin: " + (new WindowsPrincipal(currentIdentity).IsInRole(WindowsBuiltInRole.Administrator))); } } |
Этот код также дополнительно выводит идентификатор пользователя (SID) и проверяет, принадлежит ли пользователь группе администраторов.