2013-02-16 8 views
3

Как получить SID пользователя, зарегистрированного в приложении .NET?Получить зарегистрированный пользовательский идентификатор SID, а не повышенный пользователь

Я пробовал WindowsIdentity.GetCurrent(), который, конечно же, возвращает администратора, который повысил процесс. Из того, что я вижу, мне может понадобиться использовать собственные методы для этого, может ли кто-нибудь предоставить более элегантный способ?

+0

Это на сервере? Если это может быть полезно: http://stackoverflow.com/questions/5230441/how-to-get-at-the-current-users-windows-identity – FrostyFire

+0

Не на сервере. – Luke

+0

Вы можете взять его из реестра. Затем сравните ключи – Greg

ответ

0

Исследуя Greg's предложение с помощью реестра:

я нашел следующий ключ, который появляется надежен в обеспечении вошедшей информации пользователя. Этот ключ содержит информацию, такую ​​как отображаемое имя и SID. Эта информация хранится в разделе «HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI"

Эта информация верна в Windows 8. Я проверил Windows 7 и гораздо меньше информации, например: нет записи на SID пользователя.

+0

Вы можете запустить процесс командной строки с повышенными правами, который также может запросить его для вас. Который вы можете подключить к документу и извлечь для использования. – Greg

Смежные вопросы