我正在尝试使用以下代码将Windows用户名(以传统的.\username
格式)转换为SID对象:
NTAccount account = new NTAccount(".\\MyUser");
SecurityIdentifier sid = (SecurityIdentifier)account.Translate(typeof(SecurityIdentifier));
但是,执行最后一条指令时,我不断收到以下异常:
System.Security.Principal.IdentityNotMappedException:'部分或全部 身份参考无法翻译。'
我在做什么错了?
答案 0 :(得分:0)
经过反复试验后回答我自己的问题:
该代码是正确的,但是Translate函数似乎不支持缩写var new_string = stringURL.join('');
console.log(new_string);
来表示该帐户是本地帐户而不是域中的帐户。因此,如果您的用户名以.
开头,则需要用计算机名替换点。以下代码可以正常工作:
.\