Я пытаюсь найти SID из текущего вошедшего в систему пользователя на Win 7. Я используюПомнить SID пользователя в службе Windows, Win 7
string _CurrentUser = System.Security.Principal.WindowsIdentity.GetCurrent().User.Value.ToString();
Когда я запустить его в консоли приложения, я получаю пользователя SID как «S-1-5-21-670676956-2645971461-1681047478-500», но когда я помещаю вышеуказанную строку в службу Windows, я получаю другой SID, то есть «S-1-5-18». Я понимаю, что Служба Windows работает как другая учетная запись. Как получить идентификатор пользователя SID в службе Windows, как и тот, который я получаю в приложении консоли?
Кроме того, когда я запускаю тот же код в Win XP, службы Windows и консоль приложение дает один и тот же SID в отличие от Win 7.
'S-1-5-18' является SID для учетной записи локальной системы. Это _is_ пользователь, с которым работает служба. – adrianbanks
@adrianbanks Исправьте, но как я могу получить идентификатор пользователя SID в службе Windows (Win 7) – user1473039
Какой «вошел пользователь»? Служба Windows может запускаться при отсутствии входа в систему. Она также может запускаться при входе в систему нескольких пользователей. Подумайте об этом как о запуске службы на своем «рабочем столе» (хотя она работает без головок), поэтому у нее нет понятия «текущий» зарегистрированный пользователь. – adrianbanks