Мне нужно получить AuthenticationID, возвращаемый GetTokenInformation с классом TokenStatistics для пользователя, который вошел на станцию независимо от того, поднялся я или нет.
Позвольте мне дать вам больше информации. Предположим, я делаю:
var Result = GetTokenInformation(WindowsIdentity.GetCurrent().Token, TOKEN_INFORMATION_CLASS.TokenStatistics, TokenInformation, TokenInfLength, out TokenInfLength);
Это позволит мне без проблем получить AuthenticationID из структуры TokenInformation. Допустим, полученный идентификатор аутентификации равен «00000000-00001234»
Теперь, если я щелкните правой кнопкой мыши Visual Studio и выберите «Запуск от имени администратора», запустите мой код еще раз, в результате получится что-то другое, например, «00000000-00001289». Но мне нужно "00000000-00001234"
Как я могу получить "00000000-00001234" независимо от того, повышен ли текущий процесс или нет?
Полагаю, дело только в том, чтобы найти правильный токен, который нужно передать GetTokenInformation, но я бегу кругами ...
Примечание: я основал свой код на Как получить SID для входа в C # для реализации GetTokenInformation, а затем адаптировал его для возможности получения TokenStatistics.