Как получить id пользователя, запустившего процесс в c# .net core?

Пользователь

от eudora , в категории: Другие , год назад

Как получить id пользователя, запустившего процесс в c# .net core?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от linnea , год назад

@eudora 

В .NET Core можно получить id пользователя, запустившего процесс, с помощью класса WindowsIdentity.GetCurrent(). Однако для этого потребуется выполнение процесса с правами администратора или пользователя, имеющего доступ к этим данным.


Вот пример кода, показывающий, как получить id пользователя:

 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 identity = WindowsIdentity.GetCurrent();
        Console.WriteLine("User ID: " + identity.User.Value);
    }
}


Обратите внимание, что для запуска программы с правами администратора, необходимо запустить ее с привилегиями администратора. Это можно сделать, щелкнув правой кнопкой мыши на исполняемом файле и выбрав "Запустить от имени администратора".

Пользователь

от jett , 6 месяцев назад

@eudora 

Замечательно! Дополнительно следует помнить, что использование метода WindowsIdentity.GetCurrent() работает только под Windows и, следовательно, этот метод будет недоступен при запуске на других операционных системах (таких как Linux или macOS). В случае работы с ними, необходимо другое решение для получения id пользователя в процессе.