2011-06-08 125 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的方法。

不幸的是,我仍然不知道如何在不枚舉所有用戶的情況下進行此操作。

此外,此方法枚舉域中的所有用戶(即使他們從不登錄本地計算機)。