Декодирование идентификаторов безопасности (SID) в окне разрешений Windows
При изменении разрешений в Windows 8 пользователи отображаются как длинные SID. Есть ли способ увидеть правильные имена пользователей в списке "Группы или имена пользователей:"?
Я полагался на удаление и повторное добавление пользователей (с помощью механизма "Проверить имя") для пользователей, представленных идентификатором безопасности в этом списке, в случаях, когда у них есть незнакомый относительный идентификатор (с которым я знаком только по этому методу).
Приятные слова не могут описать, насколько это абсурдно.
1 ответ
Я сам в процессе определения этого, если это действительно возможно, но сейчас, похоже, есть методология для кодирования / декодирования SID:
- https://en.wikipedia.org/wiki/Security_Identifier
- https://msdn.microsoft.com/en-us/library/windows/desktop/aa379649(v=vs.85).aspx
Некоторый код C#:
byte[] sidInBinaryForm = ...;
var sid = new SecurityIdentifier(sidInBinaryForm, 0);
string accountName = sid.Translate(typeof (NTAccount)).Value;
Я почти на 100% уверен, что это строго подпрограмма декодирования, а не какая-то обертка поверх вызова LDAP, но, тем не менее, есть что поиграть.
Также см: