为了一个新的属性页安装到Active Directory管理单元,我需要写入的W2K8 R2(as documented by Microsoft)如何在注册表写入密钥自己通过的TrustedInstaller
HKEY_LOCAL_MACHINE \ SOFTWARE \下面的注册表项微软\ MMC \ SnapIns {E355E538-1C2E-11D0-8C37-00C04FD8FE93} \ NodeTypes
这个密钥由一个名为的TrustedInstaller一个特殊的用户拥有。我在网路上发现了很多东西。
在这里的那一刻是它的工作原理做了以下(用户是管理员组的成员)的方式:
- 我给用户的权限,取得所有权。
- 用户采取所有权
- 用户写注册表
- 用户授予所有权的管理员组。
我的项目完全用C#编写,有两件事我不喜欢,就像我这样做。
- 我使用InteropServices来调用Win32 AdjustTokenPrivileges API。有没有人知道在纯C#中做这件事的方法?
- 在年底的TrustedInstaller不再是关键的主人,而我'不能给他的所有权,他保持了完全的控制,但我不希望我的安装卡扣后为损坏我的服务器分类-在。
所以我的问题是:我是否错过了一些东西,是否有文件记录的方式来修改这种记录为可修改的关键?
有现有约一个Stack overflow question,答案说的TrustedInstaller所有权,意味着关键是系统安装的一部分,而不是应用程序的安装。对于我来说,如果微软记录了如何修改应用程序安装的密钥。
在此先感谢。
+1,SeRestorePrivilege是一颗宝石。 – ongle 2014-05-19 03:53:09
您有任何博客文章或示例代码吗?我一直试图让这个工作几个小时。 – Laoujin 2014-06-22 23:44:29
@Lououjin我最终把代码放在Gist上,我希望它能帮上忙。 – JPBlanc 2014-06-23 09:01:23