gpt4 book ai didi

c# - 以编程方式使用管理员帐户向注册表中的其他用户添加 key

转载 作者:可可西里 更新时间:2023-11-01 14:15:07 25 4
gpt4 key购买 nike

如何使用c#(或c/c++或其他语言)在其他用户的注册表中添加新键

场景如下:客户端PC:“管理员”帐户(已登录)

“用户A”和“用户B”只能通过域“myDomain”登录客户端PC(他们已经登录过一次并且在客户端PC的用户中有自己的文件夹)

所以我将运行此代码以使用管理员创建一个新 key

Registry.CurrentUser.CreateSubKey(@"SOFTWARE\myProgram\DefaultConfig");

但问题是,此 key 仅为“管理员”帐户创建

我也想为“用户 A”和“用户 B”创建此 key ,同时仍使用“管理员”帐户

“用户A”和“用户B”都没有出现在HKEY_USERS中

如果同一台 PC 中有更多用户,我想向他们添加此注册表项,是否也可以循环为所有用户添加 key 的代码?读写循环?

最佳答案

所有用户的 key 都存储在 HKEY_USERS 根 key 下。在这个根键下,每个用户都有一个键,它有自己的 SID。作为键名。

您必须获得所需用户的 SID,然后才能访问此根 key :

// Gets the SID of the desired user
NTAccount f = new NTAccount(userName);
SecurityIdentifier s = (SecurityIdentifier)f.Translate(typeof(SecurityIdentifier));
string sid = s.ToString();

// Now you can access to the HKEY_USERS root key
string path = @"SOFTWARE\Console\DefaultConfig";
Registry.Users.CreateSubKey(string.Format("{0}\\{1}", sid, path));

但老实说,我不确定这是个好主意。您不能改用适用于所有用户的 Registry.LocalMachine 吗?

关于c# - 以编程方式使用管理员帐户向注册表中的其他用户添加 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com