为了将新的属性页安装到 Active Directory 管理单元中,我需要写入 W2K8 R2 的以下注册表项(由 Microsoft 记录)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns{E355E538-1C2E-11D0-8C37-00C04FD8FE93}\NodeTypes
该密钥归一个名为TrustedInstaller的特殊用户所有。我在 NET 上发现了很多东西。
目前,它的工作方式如下(用户是管理员组的成员):
- 我赋予用户取得所有权的特权。
- 用户取得所有权
- 用户写注册表
- 用户将所有权授予管理员组。
我的项目完全是用 C# 编写的,有两件事我不喜欢这样做的方式。
- 我使用 InteropServices 调用 Win32 AdjustTokenPrivileges API。有人知道在纯 C# 中这样做的方法吗?
- 最后,TrustedInstaller 不再是密钥的所有者,我无法授予他所有权,他保留完全控制权,但我不希望我的服务器在安装我的管理单元后被归类为损坏。
所以我的问题是:我错过了什么吗,是否有记录的方法来修改记录为可修改的密钥?
存在一个堆栈溢出问题,答案是 TrustedInstaller 所有权,这意味着密钥是系统安装的一部分,而不是应用程序安装的一部分。对我来说,如果 Microsoft 记录了如何修改密钥,那么它就是应用程序安装。
提前致谢。