Администратор не означает «вы получаете все права на что-либо». Администратор - это учетная запись (или, в вашем случае, скорее всего, группа локальных администраторов), которой по умолчанию предоставляются некоторые конфиденциальные привилегии, такие как SeDebugPrivilege
и аналогичные. Однако, что касается подсистемы безопасности, это всего лишь учетная запись. (Очень сильно отличается от root
в Unix-подобных операционных системах). Если вы не являетесь владельцем соответствующего ключа и ваша учетная запись не имеет доступа WRITE_DAC
к рассматриваемому разделу реестра, вы не сможете изменить список контроля доступа по рассматриваемому ключу.
Попробуйте взять на себя ответственность в первую очередь По умолчанию в группе локальных администраторов имеется SeTakeOwnershipPrivilege
, который позволяет вступать во владение любым объектом, даже если разрешение WRITE_OWNER
не предоставлено списком управления доступом объекта. Как только вы станете владельцем, вам неявно должны быть предоставлены READ_CONTROL
(который позволяет читать дескриптор безопасности для рассматриваемого объекта) и WRITE_DAC
(который позволяет записывать в DACL соответствующий ключ). (Предполагая, что SID OWNER_RIGHTS
не используется; это крайне маловероятно)