2011-06-08 67 views
0

这是问题所在。修改其他用户注册表

我需要运行一个正在通过注册表配置的Windows服务。 有没有办法修改其他用户HKCU而不用枚举机器上的所有用户?

+0

我知道用户的登录名和密码。我可以使用他们的SID吗? – Georg 2011-06-08 12:17:47

+0

我无法找到通过hToken(由LogonUser返回)获取SID的方法。 – Georg 2011-06-08 12:29:12

+0

我找到了这个链接:http://msdn.microsoft.com/en-us/library/aa446670。这种方法正在工作,但有些奇怪。在调用ConvertSidToStringSid之后,我得到了在我的计算机注册表中找不到的字符串。你知道原因吗? – Georg 2011-06-08 12:43:39

回答

0

我已经找到了通过WMI界面完成的好方法。 我已经打开WMI连接(请参阅:http://msdn.microsoft.com/en-us/library/aa390423%28v=vs.85%29.aspx)。

接下来,我列举了Win32_Account数据库中的所有项目。 win32_Account中的每个项目都有Domain,Name和SID字段。

这就是获得正确SID的方法。

不幸的是,我仍然不知道如何在不枚举所有用户的情况下进行此操作。

此外,此方法枚举域中的所有用户(即使他们从不登录本地计算机)。