【问题标题】:change Access Permissions in Component Services > COM Security with script/api?使用脚本/api 更改组件服务 > COM 安全性中的访问权限?
【发布时间】:2011-01-01 05:11:46
【问题描述】:

是否有 api 可以更改 COM 安全性的访问权限?我需要将新值写入“编辑限制...”和“编辑默认值...”。这些是普通的注册表设置吗?找不到如何设置这些条目。

【问题讨论】:

    标签: com dcom


    【解决方案1】:

    快速回答是,它们是注册表设置,长答案是不,它们不是简单注册表设置。这些值是二进制的并指向 ACL 结构。为了更改这些,您需要加载、更新和保存 ACL(这需要大量代码)。 Windows SDK 中的DCOMPerm sample 是一个不错的起点,我已将它用作我在工作中用来处理此问题的一组类的基础(不幸的是,我无法将该代码发布到公共领域)

    您可以查看 MSDN Documentation 以了解 DCOM 密钥结构 - 涵盖计算机范围的设置。 COM 应用程序特定设置存储在注册表中其 APPID 下的 AccessPermission 和 LaunchPermission 值中。

    请记住,如果操作不当,修改机器范围设置的 ACL 会很快导致机器无法使用。如果我没记错的话,您可以简单地删除这些值(通过 RegEdit),操作系统将恢复默认值以使您的机器恢复正常……但我不再 100% 确定这一点。

    编辑:二进制数据实际上是一个安全描述符,但最终它包含需要处理的 ACL - SD 只是在解包/打包时添加了一层代码。

    【讨论】:

    • 感谢您的指点。我会检查一下并希望它能够正常工作。
    猜你喜欢
    • 2011-05-07
    • 1970-01-01
    • 2016-03-27
    • 2015-07-31
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 2018-10-02
    相关资源
    最近更新 更多