爲了一個新的屬性頁安裝到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