Windows 写入用户策略注册表项

Windows 写入用户策略注册表项,windows,winapi,registry,Windows,Winapi,Registry,我希望能够将值写入位于HKEY_CURRENT_USER\Software\Policys \-中的用户策略密钥,但此位置只能由管理员用户写入 我有一个作为用户运行的应用程序和一个由我控制的系统上的服务。我想让应用程序告诉服务它是作为哪个用户登录的,然后让服务进入并写入该用户策略部分 最好的方法是什么?模拟用户?我是否可以克隆用户令牌并将其以帐户方式发送到服务,或者是否可以找到从HKEY_用户到用户策略部分的完整路径 非常感谢。用户配置文件由用户的“安全标识符”组织在HKEY\U用户中。此安全标

我希望能够将值写入位于HKEY_CURRENT_USER\Software\Policys \-中的用户策略密钥,但此位置只能由管理员用户写入

我有一个作为用户运行的应用程序和一个由我控制的系统上的服务。我想让应用程序告诉服务它是作为哪个用户登录的,然后让服务进入并写入该用户策略部分

最好的方法是什么?模拟用户?我是否可以克隆用户令牌并将其以帐户方式发送到服务,或者是否可以找到从HKEY_用户到用户策略部分的完整路径


非常感谢。

用户配置文件由用户的“安全标识符”组织在
HKEY\U用户中。此安全标识符可通过迭代
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
中的
ProfileImagePath
键获得。(用户帐户以
S-1-5-21
开头。这将用户名链接到安全标识符。然后,您可以使用获得的安全标识符从
HKEY_用户
访问用户。

用户配置文件在
HKEY_用户
中按用户的“安全标识符”组织通过迭代
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
中的
ProfileImagePath
键,可以获得此安全标识符。(用户帐户以
S-1-5-21
开头。这将用户名链接到安全标识符。然后,您可以使用获得的安全标识符从
HKEY_用户
访问该用户。

以下是我最后做的:

  • 在应用程序中查找当前用户SID(OpenProcessToken、GetTokenInformation、ConvertSidtoString ID)
  • 将字符串SID传递给服务
  • 更改HKEY_用户{SID}\Software\Policys

  • 以下是我最后所做的:

  • 在应用程序中查找当前用户SID(OpenProcessToken、GetTokenInformation、ConvertSidtoString ID)
  • 将字符串SID传递给服务
  • 更改HKEY_用户{SID}\Software\Policys

  • 不仅此密钥只能由管理员写入,而且此密钥实际上包含网络策略设置。如果需要更改这些值,请使用域服务器上的策略管理器。不仅此密钥只能由管理员写入,而且此密钥实际上包含网络策略设置。如果需要更改如果要删除这些值,请使用域服务器上的策略管理器。