我有一个需要当前登录用户名的Windows服务.我试过System.Environment.UserName,Windows身份和Windows窗体身份验证,但所有都返回" 系统 "作为用户,因为我的服务在系统特权运行.有没有办法在不更改我的服务帐户类型的情况下获取当前登录的用户名?
关于从SID转换为帐户名称的问题 ; 反过来没有一个.
如何将用户名转换为SID字符串,例如,找出哪个HKEY_USERS子键与给定名称的用户相关?
在 Windows 服务中,我想检查存储在每个用户的 HKCU 注册表区域中的一些用户首选项。我怎样才能做到这一点?
我看到 HKEY_USERS 具有登录到机器的每个用户的子键(或类似的东西?),其中是每个用户的 HKCU 区域。但是,这些子项是用户的 SID,所以我需要计算出当前登录用户的 SID。
然后我会查询HKEY_USERS\<the users SID>\whichever\key\i\need来代替查询HKEY_CURRENT_USER\whichever\key\i\need。
从这个问题中,我可以以 DOMAIN\USER 格式获取机器上当前用户的列表。有没有办法从用户的 Windows 登录中获取用户的 SID?或者是否有更直接的方法来获取当前登录用户的 HKCU 注册表路径?