Получите SID пользователя, вошедшего в систему, а не повышенного пользователя
Как получить SID пользователя, вошедшего в систему, в приложении .NET с повышенными правами?
Я попробовал WindowsIdentity.GetCurrent()
, который, конечно, возвращает администратора, который повысил процесс. Из того, что я вижу, мне может понадобиться использовать собственные методы для этого, может ли кто-нибудь предложить более элегантный способ?
1 ответ:
Исследуяпредложение Грега об использовании реестра:
Я нашел следующий ключ, который кажется надежным в предоставлении информации о текущем вошедшем в систему пользователе. Этот ключ содержит такие сведения, как отображаемое имя и идентификатор безопасности. Эта информация хранится в разделе "раздел HKEY_LOCAL_MACHINE\программное обеспечение\Microsoft\окна\CurrentVersion равное\проверка подлинности\проблемы"
Эта информация является точной в Windows 8. Я проверил Windows 7 и гораздо меньше информации включено, например: нет вход ИД безопасности пользователя.