在 Windows 8 中更改权限时,用户会显示为长 SID。有没有办法在“组或用户名:”列表中查看正确的用户名?
对于此列表中 SID 所代表的用户,如果其相对 ID 不熟悉(我之所以熟悉只是因为这种方法),我依赖于删除并重新添加用户(通过“检查名称”机制)。
美好的词语不足以形容这有多么荒谬。
答案1
我正在自己确定这一点,看是否真的可行,但目前看来,似乎存在一种编码/解码 SID 的方法:
- https://en.wikipedia.org/wiki/Security_Identifier#Decoding_Machine_SID
- 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 调用之上的某些包装器,但仍然可以玩。
另请参阅: