2013-06-11 113 views
1

我希望能夠將值寫入位於HKEY_CURRENT_USER \ Software \ Policies \中的用戶策略密鑰 - 但該位置只能由管理員用戶寫入。寫入用戶策略註冊表項

我有一個作爲用戶運行的應用程序和我控制的系統上的服務。我希望應用程序告訴服務是哪個用戶登錄的,然後服務進入並寫入該用戶的策略部分。

這樣做的最好方法是什麼?扮演用戶?我可以克隆用戶令牌並將其發送到服務,還是有辦法找到從HKEY_USERS到用戶策略部分的完整路徑?

非常感謝。

+0

此密鑰不僅可以由管理員編寫,而且該密鑰實際上還包含網絡策略設置。如果您需要更改這些值,請使用域服務器上的策略管理器。 – GolezTrol

回答

0

繼承人什麼,我到底做了:。

  1. 查找當前用戶的SID在應用程序(OpenProcessToken,GetTokenInformation,ConvertSidToStringSid)
  2. 傳遞字符串SID到服務
  3. 進行更改,HKEY_USERS {} SID \ SOFTWARE \政策
1

用戶的配置文件由用戶的「安全標識符」組織在HKEY_USERS之內。這個安全標識符可以通過在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList內迭代ProfileImagePath密鑰來獲得。 (用戶帳戶開始S-1-5-21此鏈接的用戶名到安全標識符然後,您可以從HKEY_USERS使用所獲得的安全標識訪問用戶