繁体   English   中英

当 AD 不可用时,如何从用户名中获取用户的 SID?

[英]How can I get the SID of a user having from his/her username when the AD is not available?

我正在尝试使用以下 function 获取用户 SID:

return new NTAccount(username).Translate(typeof(SecurityIdentifier)).ToString();

尽管此 function 几乎在所有情况下都有效,但当运行此 function 的计算机与 Active Directory 隔离时,这通常会给我一个系统异常,并显示以下相关消息:

The trust relationship between this workstation and the primary domain failed. 

有没有办法绕过这个并允许 NTAccount function 仅通过查看本地可用用户来工作?

做一些测试,当使用与 NTAccount 的输入相关联的用户启动命令时,并且在成功启动命令后,Translate 命令开始工作,而不依赖于 AD。

我正在尝试在自定义凭据提供程序中使用该 function 以启用自定义 2FA,并且我需要将 SID(唯一标识符)用于后端服务中的用户标识。

查看注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

有用户的SID (也包括系统帐户)。

然后查看HKEY_USERS\<SID>\Volatile Environment路径。
USERDOMAINUSERNAME等着你。

在这里找到 -从 HKEY_USERS 值中获取用户名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM